Dockerがデーモンプロセスとコンテナを構成するネットワーク-コンテナのネットワーク
2240 ワード
テキストアドレス
コンテナで使用されるネットワークタイプ(bridge、overlay、macvlanネットワーク、カスタムネットワークプラグイン)は、コンテナ内で透明です.コンテナの観点から、IPアドレス、ゲートウェイ、ルーティングテーブル、DNSサービス、および他のネットワークの詳細を伴うネットワークインタフェースがあります(コンテナがnoneネットワークドライバを使用していないと仮定します).この話題は容器の観点からネット問題を見ることです.
1.公開ポート
デフォルトでは、コンテナを作成すると、外部世界にポートがパブリッシュされません.ポートをDocker以外のサービスまたはコンテナネットワークに接続されていないDockerコンテナに使用できるようにするには、
フラグ値
説明
コンテナの80ポートをDockerホストの8080ポート(TCP)にマッピング
コンテナの80ポートをDockerホストの8080ポート(UDP)にマッピング
コンテナの80ポートをDockerホストの8080ポート(TCPとUDP)にマッピング
2.IPアドレスとホスト名
デフォルトでは、コンテナは接続されているDockerネットワークごとにIPアドレスを割り当てます.IPアドレスはネットワークに割り当てられたプールから割り当てられるので、Dockerデーモンは各コンテナのDHCPサーバとして有効に機能する.各ネットワークにもデフォルトのサブネットマスクとゲートウェイがあります.
コンテナが起動すると、
既に存在するコンテナを
同様に、コンテナのホスト名のデフォルトはDockerのコンテナ名です.
3.DNSサービス
デフォルトでは、コンテナは、
ひょうしき
説明
DNSサーバのIPアドレス.複数の
完全に限定されていないホスト名を検索するDNS検索ドメイン.複数のDNS検索プレフィックスを指定するには、複数の
DNSオプションとその値を表すキー値のペア.使用可能なオプションは、オペレーティングシステムの
コンテナは、自分が使用するホスト名です.指定されていない場合は、デフォルトはコンテナの名前です.
4.プロキシサーバ
コンテナがプロキシサーバを使用する必要がある場合は、Usea proxy serverを参照してください.
コンテナで使用されるネットワークタイプ(bridge、overlay、macvlanネットワーク、カスタムネットワークプラグイン)は、コンテナ内で透明です.コンテナの観点から、IPアドレス、ゲートウェイ、ルーティングテーブル、DNSサービス、および他のネットワークの詳細を伴うネットワークインタフェースがあります(コンテナがnoneネットワークドライバを使用していないと仮定します).この話題は容器の観点からネット問題を見ることです.
1.公開ポート
デフォルトでは、コンテナを作成すると、外部世界にポートがパブリッシュされません.ポートをDocker以外のサービスまたはコンテナネットワークに接続されていないDockerコンテナに使用できるようにするには、
--publish
または-p
フラグを使用します.これにより、コンテナポートをDockerホストのポートにマッピングするファイアウォールルールが作成されます.ここにはいくつかの例があります.フラグ値
説明
-p 8080:80
コンテナの80ポートをDockerホストの8080ポート(TCP)にマッピング
-p 8080:80/udp
コンテナの80ポートをDockerホストの8080ポート(UDP)にマッピング
-p 8080:80/tcp -p 8080:80/udp
コンテナの80ポートをDockerホストの8080ポート(TCPとUDP)にマッピング
2.IPアドレスとホスト名
デフォルトでは、コンテナは接続されているDockerネットワークごとにIPアドレスを割り当てます.IPアドレスはネットワークに割り当てられたプールから割り当てられるので、Dockerデーモンは各コンテナのDHCPサーバとして有効に機能する.各ネットワークにもデフォルトのサブネットマスクとゲートウェイがあります.
コンテナが起動すると、
--network
を使用して単一のネットワークに接続するしかありません.ただし、実行中のコンテナは、docker network connect
を使用して複数のネットワークに接続することができる.--network
フラグを使用してコンテナを起動する場合、--ip
または--ip6
フラグを使用して、そのネットワーク上のコンテナに割り当てられたIPアドレスを指定できます.既に存在するコンテナを
docker network connect
を介して他のネットワークに接続する場合、--ip
または--ip6
フラグを使用して、追加のネットワーク上のコンテナのIPアドレスを指定することができる.同様に、コンテナのホスト名のデフォルトはDockerのコンテナ名です.
--hostname
を使用してホスト名を上書きできます.docker network connect
を使用して既存のネットワークに接続する場合、--alias
フラグを使用して、ネットワーク上のコンテナに他のネットワーク別名を指定できます.3.DNSサービス
デフォルトでは、コンテナは、
/etc/hosts
および/etc/resolv.conf
を含むDockerデーモンからDNS設定を継承します.これらの設定は、各コンテナに基づいて上書きできます.ひょうしき
説明
--dns
DNSサーバのIPアドレス.複数の
--dns
フラグを使用して、複数のDNSサーバを指定できます.コンテナが指定されたIPアドレスのいずれかに接続できない場合、GoogleのパブリックDNSサーバ8.8.8.8
が使用され、コンテナはドメイン名を解析できます.--dns-search
完全に限定されていないホスト名を検索するDNS検索ドメイン.複数のDNS検索プレフィックスを指定するには、複数の
--dns-search
フラグを使用します.--dns-opt
DNSオプションとその値を表すキー値のペア.使用可能なオプションは、オペレーティングシステムの
resolv.conf
ドキュメントを参照してください.--hostname
コンテナは、自分が使用するホスト名です.指定されていない場合は、デフォルトはコンテナの名前です.
4.プロキシサーバ
コンテナがプロキシサーバを使用する必要がある場合は、Usea proxy serverを参照してください.