このセクションでは、None&Hostネットワークについて説明します。
1.はじめに
ここをクリックしてdockerシリーズの記事ディレクトリに戻ります
以前にブリッジネットワークを紹介しましたが、このセクションでは引き続き何もホストしません。これら2つは比較的単純で、あまり一般的には使用されていません。Dockerのインストール時に、3つのネットワークが自動的に作成されました。
[root@docker1 ~]# docker network ls
NETWORK ID NAME DRIVER SCOPE
c1bb643c9c5a bridge bridge local
59364623cee2 host host local
fb704391fb47 none null local
2.なしネットワーク
noneネットワークを使用するコンテナにはloネットワークカードが1つしかなく、ルーティングテーブルは空です。つまり、このタイプのコンテナーは他のコンテナーと通信できず、完全に分離されたコンテナーです。
その目的は、ホスト全体の計算を実行することです。また、他のネットワークプラグイン(calico、weave)で使用して、Docker自身のネットワークを無効にし、ネットワークプラグインのネットワークスタックを提供することもできます。
noneネットワークを使用してコンテナーを作成しdocker run -it -d --network=none --name=testnone busybox
、ネットワークカードを確認します。
[root@docker1 ~]# docker exec -it testnone sh
/ # ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
コンテナにloネットワークカードが1つしかなく、ルーティングテーブルが空であることがわかります。
3.ホストネットワーク
3.1はじめに
nginxイメージでコンテナを作成し、ホストネットワークを使用します。コマンド:docker run -it -d --network=host --name=testhost nginx
コンテナーを入力してip aまたはip rを実行します。表示される結果は、ホストで直接実行した結果と同じです。
テスト:ホストでcurl 127.0.0.1:80またはcurl 192.168.0.11:80を実行し、nginxウェルカムメッセージを返します。ただし、他のマシンではアクセスできません。
注:
- ホストネットワークを使用するコンテナは、ホストのIPアドレスを直接使用するため、IPアドレスは割り当てられません。
- ホストネットワークを使用する場合、ポート公開機能は無効です。
4.まとめ
- この記事では、ブリッジ以外の2つのネットワークを紹介します。
次のセクションでは、Dockerのネイティブオーバーレイネットワークを紹介します。ここをクリックして、dockerシリーズの記事のディレクトリに戻ります。
著者オリジナル、ソースを宣言してください!
私のWeChatパブリックアカウントは、クラウドコンピューティング、コンテナー、ネットワーク、プログラミング、およびその他の記事を同時に更新します。