iptables
防火墙来进行管理和实现。iptables
是 Linux 上默认的防火墙软件,在大部分发行版中都自带。--ip-forward=true
, Docker 就会自动设定系统的 ip_forward
参数为 1。docker0
网桥上。iptables
是否允许通过。ACCEPT
)还是禁止(DROP
)取决于配置--icc=true
(缺省值)还是 --icc=false
。当然,如果手动指定 --iptables=false
则不会添加 iptables
规则。/etc/docker/daemon.json
文件中配置 {"icc": false}
来禁止它。-icc=false
关闭网络访问后,还可以通过 --link=CONTAINER_NAME:ALIAS
选项来访问容器的开放端口。icc=false --iptables=true
参数来关闭允许相互的网络访问,并让 Docker 可以修改系统中的 iptables
规则。iptables
规则可能是类似docker run
)时使用 --link=CONTAINER_NAME:ALIAS
选项。Docker 会在 iptable
中为 两个容器分别添加一条 ACCEPT
规则,允许相互访问开放的端口(取决于 Dockerfile
中的 EXPOSE
指令)。--link=CONTAINER_NAME:ALIAS
选项后,添加了 iptables
规则。--link=CONTAINER_NAME:ALIAS
中的 CONTAINER_NAME
目前必须是 Docker 分配的名字,或使用 --name
参数指定的名字。主机名则不会被识别。