Docker host与none
JoernLee 人气:0其实之前的章节我们都是在使用bridge网络的功能,他的使用也是广泛的复杂的。今天主要讨论另外两种network。
1. none-network
看到名子你可以联想到,none 网络就是指的什么都没有的网络
容器如果挂载在这个网络下的话,那么除了 lo,是不会有其他网卡的
容器创建时,可以通过 --network=none
指定使用 none 网络。
我们创建一个容器连接到该网络:
sudo docker run -d --name test1 --network none .....
然后我们inspect一下:
但是我们发现他没有任何网络信息,然后我们进去看一下:
sudo docer exec -it test1 /bin/sh
然后允许一下ip a 看一下,除了本地回转扣啥都没有:
所以这个network-namespace是一个孤立的,除了exec方式其他方式都访问不到。
这种模式通常用于作用:创建一种容器,要求安全性高,例如存储密码,不希望其他人访问到,只要求本地自己访问一下才行。
2. host-network
连接到 host 网络的容器共享 Docker host 的网络栈,容器的网络配置与 host 完全一样。可以通过 --network=host
指定使用 host 网络。
sudo docker run -d --name test1 --network host ...
docker network inspect host:
我们发现他也没有IP地址,接着我们进去容器看一下:
但是我们发现在test1里面的接口和外面linux主机里面的接口是一样的,所以我们通过host网络创建的容器是没有独立的network-namespace,他是和主机所在的namespace共享一套,所以两者一样。
注意:端口可能会有冲突
加载全部内容