ホームページ  >  記事  >  バックエンド開発  >  Docker のネットワーク モデルの構成 - none_PHP チュートリアル

Docker のネットワーク モデルの構成 - none_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-12 09:02:151475ブラウズ

Docker のネットワーク モデルを構成します — none

コンテナの起動時に net=none を指定します。これは、起動されたコンテナにネットワーク情報が構成されていないことを示します。起動後に表示されるコンテナ内の情報は次のとおりです。 eth0 インターフェイスはありません。 lo ループバック インターフェイスは 1 つだけです。しかし、依然として独自の独立したネットワーク名前空間を持っています。
root@10-10-63-106 ~]# docker run -i -t --rm--net=none centos6.3-base-v2 /bin/bash

[root@4685a85d0e11/]# ifconfig

loLink encap:ローカル ループバック

inet addr:127.0.0.1Mask:255.0.0.0

inet6 addr:::1/128 スコープ:ホスト

UP LOOPBACK RUNNINGMTU:65536 メトリック:1

RX パケット:0 エラー:0 ドロップ:0 オーバーラン:0 フレーム:0

TX パケット:0 エラー:0 ドロップ:0 オーバーラン:0 キャリア:0

衝突:0 txqueuelen:0

RX バイト:0 (0.0 b) TX バイト:0(0.0 b)

docker run -i -t --rm --net=nonefrankzfz/centos6.3-base-v1 /bin/bash

[root@0861fd7f405a /]# ifconfig

loLink encap:ローカルループバック

inet addr:127.0.0.1Mask:255.0.0.0

inet6 addr:::1/128 Scope:Host

UP LOOPBACK RUNNINGMTU:65536 Metric:1

RXパケット:0 エラー:0 ドロップ:0 オーバーラン:0フレーム:0

TX パケット:0 エラー:0 ドロップ:0 オーバーラン:0 キャリア:0

衝突:0 txqueuelen:0

RX バイト:0 (0.0 b) TX バイト:0(0.0 b)

Getコンテナーのプロセス番号

[root@10-10-63-106 ~]# docker Inspection -f'{{.State.Pid}}' 0861fd7f405a

695

[root@10-10-63 -106 ~]# docker Inspection -f'{{.State.Pid}}' 4685a85d0e11

638

ネットワーク名前空間のトレースファイルを作成します

[root@10-10-63-106 ~]# mkdir - p/var /run/netns

[root@10-10-63-106 ~]# ln -s/proc/695/ns/net /var/run/netns/695

[root@10-10- 63-106 ~]# ln -s/proc/638/ns/net /var/run/netns/638

ピア インターフェイスのペアを作成します。A は Container_ID=0861fd7f405a のインターフェイス名として指定され、B は Container_ID=0861fd7f405a として指定されます。 Container_ID=4685a85d0e11 とルート情報を追加すると、そのネクストホップはすべてピア IP アドレスを指します。

[root@10-10-63-106 ~]# ip link add A typeveth ピア名 B

[root@10-10-63-106 ~]# ip link set A netns695

[root@10- 10-63-106 ~]# ip netns exec 695 ipaddr add 10.1.1.1/32 dev A

[root@10-10-63-106 ~]# ip netns exec 695 iplink set A up

[root@10 -10-63-106 ~]# ip netns exec 695 iproute add 10.1.1.2/32 dev A

[root@0861fd7f405a /]# ifconfig

ALink encap:Ethernet HWaddrCA:39:26:CD:24:BD

inet addr:10.1.1.1 Bcast:0.0.0.0Mask:255.255.255.255

UP BROADCAST MULTICASTMTU:1500 メトリック:1

RX パケット:0 エラー:0 ドロップ:0 オーバーラン:0 フレーム:0

TX パケット: 0 エラー:0 ドロップ:0 オーバーラン:0 キャリア:0

衝突:0 txqueuelen:1000

RX バイト:0 (0.0 b) TX バイト:0(0.0 b)

loLink encap:ローカル ループバック

inet アドレス:127.0.0.1マスク:255.0.0.0

inet6 アドレス:::1/128 スコープ:ホスト

UP LOOPBACK RUNNINGMTU:65536 メトリック:1

RX パケット:0 エラー:0 ドロップ:0 オーバーラン:0 フレーム:0

TXパケット:0エラー:0ドロップ:0オーバーラン:0キャリア:0

衝突:0txqueuelen:0

RXバイト:0 (0.0 b) TXバイト:0(0.0 b)

[root@10-10-63-106 ~]# ip link set B netns638

[root@10-10-63-106 ~]# ip netns exec 638 ip addr add 10.1.1.2/32 devB

[root @10-10-63-106 ~]# ip netns exec 638 iplink set B up

[root@10-10-63-106 ~]# ip netns exec 638 iproute add 10.1.1.1/32 dev B

[ root@4685a85d0e11 /]# ifconfig

BLink encap:Ethernet HWaddrFE:38:13:D9:2F:87

inet addr:10.1.1.2Bcast:0.0.0.0Mask:255.255.255.255

inet6 addr: : : fc38:13ff:fed9:2f87/64 スコープ:Link

UP ブロードキャスト実行中 MULTICASTMTU:1500 メトリック:1

RX パケット:8 エラー:0 ドロップ:0 オーバーラン:0 フレーム:0

TX パケット:8 エラー:0ドロップ:0 オーバーラン:0 キャリア:0

衝突:0 txqueuelen:1000

RX バイト:648 (648.0 b) TX バイト:648 (648.0 b)

loLink encap:ローカル ループバック

inet addr:127.0.0.1Mask:255.0.0.0

inet6 addr:::1/128 Scope:Host

UP LOOPBACK RUNNINGMTU:65536 Metric:1

RXパケット:0 エラー:0 ドロップ:0 オーバーラン:0フレーム:0

TX パケット:0 エラー:0 ドロップ:0 オーバーラン:0 キャリア:0

衝突:0 txqueuelen:0

RX バイト:0 (0.0 b) TX バイト:0(0.0 b)

at一方のコンテナの IP アドレスを他方のコンテナに ping して、2 つのコンテナが通信できることを確認します。

[root@4685a85d0e11/]# ping 10.1.1.1

PING 10.1.1.1 (10.1.1.1) 56(84) bytes ofdata.

10.1.1.1 からの 64 バイト: icmp_seq=1 ttl=64time=0.08 4ミリ秒

10.1.1.1 からの 64 バイト: icmp_seq=2 ttl=64time=0.071 ms ttl=64time =0.069 ms

^C

--- 10.1.1.1 ping 統計 ---

送信パケット 4、受信パケット 4、0 % パケット損失、時間 3505 ミリ秒

rtt min/avg/max/mdev =0.069/0.074 /0.084/0.008 ミリ秒

参考文献:

https://docs.docker.com/articles/networking/

http://www.bkjia.com/PHPjc/1086426.html

www.bkjia.com

http://www.bkjia.com/PHPjc/1086426.html技術記事 Docker のネットワークモデル -none を設定します。コンテナ起動時に -net=none を指定し、起動後のコンテナにネットワーク情報が設定されていないことを示します。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。