1-7docke的网络模式

1、Bridge模式
bridge 模式是 docker 的默认⽹络模式,不写 –net 参数,就是 bridge 模式。比如使⽤ docker run - p 时

 工作模式从网上找了一个,如下

 例子:

run -it -d --name test1 --net=bridge centos:v1 bash

run -it -d --name test2 --net=bridge centos:v1 bash


docker exec  -it test1 bash
docker exec  -it test2 bash

ifconfig 

 

 1-2、网络互通

上面默认是通的,也可以用--link 参数,只不过是单向通的

docker run -it -d --name test3 --link test1 centos:v1 bash

 

 1-3、容器互联应该自定义Docker ⽹络来连接多个容器⽽不是使⽤ --link 参数

docker network create -d bridge my-net
-d 参数指定 Docker ⽹络类型,有 bridge overlay 。其中 overlay ⽹络类型⽤于 Swarm mode

docker run -it -d --name test1 --network=my-net centos:v1 bash

docker run -it -d --name test2 --network=my-net centos:v1 bash

 

2、Host 模式
如果启动容器的时候使⽤ host 模式,那么这个容器将不会获得⼀个独⽴的 Network Namespace ,
⽽是和宿主机共⽤⼀个 Network Namespace。
容器将不会虚拟出⾃⼰的⽹卡,配置⾃⼰的 IP 等,
⽽是使 ⽤宿主机的 IP 和端⼝。但是,容器的其他⽅⾯,如⽂件系统、进程列表等还是和宿主机隔离的。 Host模式如下图所示:

 docker run -it -d --name test3 --network=host centos:v1 bash
 docker run -it -d --name test4 --network=host centos:v1 bash


docker exec -it test3 bash
docker exec -it test4 bash

互ping  不通的
ping test4
ping test3
是和宿主机公用的网络模式

3、Container 模式

两个容器的进程可以通过 lo 网卡设备通信。
docker run -it -d --name test5_container --network=container:test2 busybox /bin/sh -c 'while true;do echo 12lee 1;done'

 

4、None模式

docker run -it -d --name test6_none --network=none busybox /bin/sh -c 'while true;do echo 1234;slee 1;done'

 

无网卡、IP、路由等信息,需要我们为 Docker 容器添加网卡、配置 IP 等
原文地址:https://www.cnblogs.com/zhaojingyu/p/11608851.html