Docker网络管理

网络模式:

bridge
–net=bridge默认网络,Docker启动后创建一个docker0网桥,默认创建的容器也是添加这个网桥中。

host
–net=host容器不会获得一个独立的network namespace,而是与宿主机共用一个。这就意味着容器不会有自己的网卡信息,而是使用宿主机的.容器除了网络,其他都是膈离的。

none
–net=none获取独立的network namespace,但不为容器进行任何网络配置,需要我们手动配置。

container
–net=container:Name/ID与指定的容器使用同一个network namespace,具有同样的网络配置信息,两个容器除了网络,其他都还是隔离的。

自定义网络
与默认的bridge原理一样,但自定义网络具备内部DNS发现,可以通过容器名或者主机名容器之间网络通信。
eg: container mode

[root@docker ~]# docker run -itd -p 90:80 --name bs busybox
[root@docker ~]# docker run -d --net container:bs --name nginx01 nginx
[root@docker ~]# docker container inspect bs
[root@docker ~]# curl 172.17.0.2
Welcome to nginx!

eg: 自定义网络
[root@docker ~]# docker network create test
[root@docker ~]# docker run -itd --name bs5 --net test busybox
[root@docker ~]# docker run -itd --name bs6 --net test busybox
[root@docker ~]# docker exec -it bs5 sh
/ #
/ # ifconfig
eth0 Link encap:Ethernet HWaddr 02:42:AC:12:00:02
inet addr:172.18.0.2 Bcast:172.18.255.255 Mask:255.255.0.0

[root@docker ~]# docker exec -it bs6 sh
/ #
/ #
/ # ifconfig
eth0 Link encap:Ethernet HWaddr 02:42:AC:12:00:03
inet addr:172.18.0.3 Bcast:172.18.255.255 Mask:255.255.0.0

/ # ping 172.18.0.2
PING 172.18.0.2 (172.18.0.2): 56 data bytes
64 bytes from 172.18.0.2: seq=0 ttl=64 time=0.296 ms
64 bytes from 172.18.0.2: seq=1 ttl=64 time=0.178 ms
/ # hostname
f15981bb47ff

/ # ping f15981bb47ff
PING f15981bb47ff (172.18.0.3): 56 data bytes
64 bytes from 172.18.0.3: seq=0 ttl=64 time=0.078 ms
64 bytes from 172.18.0.3: seq=1 ttl=64 time=0.471 ms
/ # ping bs6
PING bs6 (172.18.0.3): 56 data bytes
64 bytes from 172.18.0.3: seq=0 ttl=64 time=0.146 ms
64 bytes from 172.18.0.3: seq=1 ttl=64 time=0.215 ms

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值