Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> 配置Docker的網絡模型—none

配置Docker的網絡模型—none

編輯:關於android開發

配置Docker的網絡模型—none


在啟動容器時指定—net=none,表明在啟動的Container中不配置任何網絡信息,啟動後看到的Container內的信息如下所示:沒有eth0接口只有一個lo回環接口。但還是有自己獨立的network namespace。
root@10-10-63-106 ~]# docker run -i -t --rm--net=none centos6.3-base-v2 /bin/bash

[root@4685a85d0e11/]# ifconfig

loLink encap:Local Loopback

inet addr:127.0.0.1Mask:255.0.0.0

inet6 addr: ::1/128 Scope:Host

UP LOOPBACK RUNNINGMTU: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:0

RX bytes:0 (0.0 b) TX bytes:0(0.0 b)

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

[root@0861fd7f405a /]# ifconfig

loLink encap:Local Loopback

inet addr:127.0.0.1Mask:255.0.0.0

inet6 addr: ::1/128 Scope:Host

UP LOOPBACK RUNNINGMTU: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:0

RX bytes:0 (0.0 b) TX bytes:0(0.0 b)

獲取容器的進程號,

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

695

[root@10-10-63-106 ~]# docker inspect -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

創建一對peer接口,A指定為Container_ID=0861fd7f405a的接口名,B指定為Container_ID=4685a85d0e11,並添加路由信息,他們的下一跳都是指向對端IP地址。

[root@10-10-63-106 ~]# ip link add A typeveth peer name 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 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:1000

RX bytes:0 (0.0 b) TX bytes:0(0.0 b)

loLink encap:Local Loopback

inet addr:127.0.0.1Mask:255.0.0.0

inet6 addr: ::1/128 Scope:Host

UP LOOPBACK RUNNINGMTU: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:0

RX bytes:0 (0.0 b) TX bytes: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: fe80::fc38:13ff:fed9:2f87/64 Scope:Link

UP BROADCAST RUNNING MULTICASTMTU:1500 Metric:1

RX packets:8 errors:0 dropped:0 overruns:0 frame:0

TX packets:8 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:648 (648.0 b) TXbytes:648 (648.0 b)

loLink encap:Local Loopback

inet addr:127.0.0.1Mask:255.0.0.0

inet6 addr: ::1/128 Scope:Host

UP LOOPBACK RUNNINGMTU: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:0

RX bytes:0 (0.0 b) TX bytes:0(0.0 b)

在其中一台Container中ping另一台的IP地址,保證兩台Container可以通信。

[root@4685a85d0e11/]# ping 10.1.1.1

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

64 bytes from 10.1.1.1: icmp_seq=1 ttl=64time=0.084 ms

64 bytes from 10.1.1.1: icmp_seq=2 ttl=64time=0.071 ms

64 bytes from 10.1.1.1: icmp_seq=3 ttl=64time=0.073 ms

64 bytes from 10.1.1.1: icmp_seq=4 ttl=64time=0.069 ms

^C

--- 10.1.1.1 ping statistics ---

4 packets transmitted, 4 received, 0%packet loss, time 3505ms

rtt min/avg/max/mdev =0.069/0.074/0.084/0.008 ms

參考文獻:

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

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved