-
ドッカーコンテナネットワークモデルの4種類の
ドッキングウィンドウコンテナを作成するために、ドッキングウィンドウの実行に基づいては、コンテナがネットワークモードを指定するには、--netオプションを使用することができ、ドッキングウィンドウのネットワークモデルがあります:
1)、なしモードは、
コンテナは任意のネットワーク構成ではありません。--networkなし# docker run -it --network none busybox:latest Unable to find image 'busybox:latest' locally latest: Pulling from library/busybox ee153a04d683: Pull complete Digest: sha256:9f1003c480699be56815db0f8146ad2e22efea85129b5b5983d0e0fb52d9ab70 Status: Downloaded newer image for busybox:latest / # / # ifconfig lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) / #
コンテナ内にはIPアドレスが、割り当てられていないIPホスト、外部のネットワークに接続することはできません。
2)、コンテナモード
とネットワーク名前空間を共有する別の容器を実行しています。--network =コンテナ:ContainerIDの
新しく作成されたコンテナは、指定されたコンテナで、独自のIP、ネットワークカード情報、共有ネットワーク環境を持っていません。コンテナネットワークに加えて、他のものはそのようなので、上のファイルシステム、プロセスとして、単離されます。
3)、ホストモード
とホストは、ネットワークの名前空間を共有しました。--network =ホスト# docker run -it --network host centos:latest
上記のコマンドを入力すると、何も変更を見つけた後は、実際には、ホスト名ともホストとして、原因パブリックネットワークとホストに、コンテナに入りました。コンテナは、それに応じて開放容器、どのホストポート内で開いた場合、セキュリティが十分でないネットワークに関連して、ホストIPとポートを使用して、ネットワークカードやその他の情報を持っていません。
4)、ブリッジブリッジモード
NATネットワークモデルドッカーがドッカーデフォルトモードネットワークであり、ホストが自動的にネットワークに接続できるようにドッカー容器は、docker0仮想ブリッジに接続され、容器、別々の仮想IPをドッカーするネットワークの名前空間を割り当てます。
図プロトタイプドッカーブリッジブリッジネットワーク
ホスト2つのネットワークカード:eth0の、docker0。ドッキングウィンドウのサービスは、ブリッジdocker0(#brctlショー)ビューの登場ながら、ブリッジカードdocker0(172.17.0.1)を作成し、自動的に開始されます。[root@docker-qa ~]# brctl show bridge name bridge id STP enabled interfaces docker0 8000.024267a34c5d no veth008914e9 veth04d070a5 veth109e9cae veth126cdf5
ドッキングウィンドウのdocker0ブリッジにすべての仮想NICを接続し、ドッキングウィンドウコンテナを開始するには、順番にIPを割り当てます。
ドッカーブリッジブリッジ作成プロセス:
1)、仮想NICデバイスのvethペアのホストを作成し、VETH対がデータ伝送のために、2つのネットワークデバイスを接続するために使用されます。
2)のveth容器装置の一端に一対、名前はeth0、ブリッジdocker0の他端、brctl showコマンド。
3)docker0 IPコンテナに割り当てられ、そして容器はdocker0 IPデフォルト・ゲートウェイが設けられています。
4)容器は、ホストと通信することができます。ブリッジモードでは、同じ橋の下の容器が通信することができ、およびコンテナは、インターネットにアクセスすることができます。
設定項目は、でLinuxシステムをnet.ipv4.ip_forwardに必要な前記ドッカー容器と外部ネットワークに接続することができ、主に重要な役割Linuxカーネル、Linuxカーネルは=は、eth0に容器ブリッジカード信号を転送は、eth0次に外側のネットワークに接続されました転送を設定するには -
外側容器アクセスネットワーク
アプリケーションコンテナは、-Pまたは-pポートマッピングパラメータで指定することができ、外部のネットワークに接続されます。-P docker随机映射: docker run -d -P --name nginxTest nginx -p docker指定映射:-p hostPort:containerPort -p ip:hostPort:containerPort -p ip::containerPort #宿主机任意Port映射容器指定的Port -p hostPort:containerPort:udp
ホストがiptablesのルールになっている場合、ポートマッピングが完了すると、ポートは、ファイアウォールの対応する開口部が、後にiptablesのルールをルール参加します。
- -Link相互接続コンテナ
船はポートマッピングに加えて、相互に接続するだけでなく、ドッキングウィンドウでコンテナの間の安全な相互作用のために指定された--linkパラメータを実行します。たとえば:
DBコンテナを作成します:#docker run -d --name dbserver test/mysql
Webコンテナを作成し、コンテナのDBサーバーに接続します
#docker run -p 8080:8090 --name myweb --link dbserver:db mywebtest:latest
この時点で、ドッキングウィンドウは、2隻の相互接続された船舶に安全なトンネルを構築し、強化するために、暴露DBサーバーデータベースのコンテナ港を避けるために、DBサーバーコンテナドッキングウィンドウの実行中に-Pまたは-pポートを指定していない、ホストポートにマッピングする必要がありセキュリティ。
--linkフォーマット: -リンク名:別名、名前はコンテナ、エイリアスエイリアス接続を接続するための名前です。しかし、その後のバージョンのドッキングウィンドウ、オプションが中--linkドッキングウィンドウの実行をキャンセルされます。
DBサーバー、インターネットデータベースのWebコンテナとコンテナ。さて、Webコンテナにドッキングウィンドウの幹部から入っhostsファイルは、ホスト名とIP情報データベースコンテナのDBサーバーの分解能で見つけることができます参照してください。Pingのリンクとエイリアス。
ドッカーコンテナ知人のネットワークモード
おすすめ
転載: blog.51cto.com/10874766/2437867
おすすめ
ランキング