tonglin0325的个人主页

docker学习笔记——网络模式

查看容器的网络模式

1
2
3
4
5
6
7
8
9
10
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3f6822d8f262 confluentinc/cp-schema-registry:latest "/etc/confluent/dock…" 13 minutes ago Up 13 minutes schema-registry

docker inspect 3f6822d8f262 | grep -i "network"
"NetworkMode": "host",
"NetworkSettings": {
"Networks": {
"NetworkID": "5d40a7d178679339f87cc31965ba9a1c662c74ccea853945967d4303e4f9acc0",

docker总共有4种网络模式,从上到下隔离度下降:

1.Close容器,即none模式,运行在Close容器中的进程只能访问本地回环接口,隔离度最高

2.Bridge容器,即bridge模式,当容器中的进程需要访问外部网络的时候应该使用,且bridge是docker的default网络模式。

 

bridge容器拥有2个接口,一个是私有的本地回环接口,另一个是私有接口通过网桥连接到主机的其他容器。

3.Joined容器,

4.Open容器,即host模式,该模式在启动docker的时候加上 –net=host 参数,比如

1
2
docker run  --network=host xxxx:v1.0.0dev

该模式容器会占用宿主机的对应端口,且可以访问宿主机的host

在host模式下,如果使用-p参数来定义端口,会报

1
2
WARNING: Published ports are discarded when using host network mode

但是-p参数还是会生效