【发布时间】:2017-06-28 08:01:14
【问题描述】:
docker 配置:
root@ubuntu> ps -ef | grep docker
root xxxxx /usr/bin/dockerd -H fd:// -b=br0 --icc=false --iptables=true
启动“网络”容器:
docker run -d --name web -p 8080:80 php-fpm:5.4
启动“测试”容器:
docker run -dit --name test --link web:web blackhole/ubuntu:0.1 bash
iptables 过滤器:
root@ubuntu> sudo iptables -L -n
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy DROP)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain DOCKER (0 references)
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 192.168.100.2 tcp dpt:80
ACCEPT tcp -- 192.168.100.3 192.168.100.2 tcp dpt:80
ACCEPT tcp -- 192.168.100.2 192.168.100.3 tcp spt:80
ACCEPT tcp -- 192.168.100.3 192.168.100.2 tcp dpt:443
ACCEPT tcp -- 192.168.100.2 192.168.100.3 tcp spt:443
ACCEPT tcp -- 192.168.100.3 192.168.100.2 tcp dpt:22
ACCEPT tcp -- 192.168.100.2 192.168.100.3 tcp spt:22
在“测试”容器中:
sudo docker exec -it test bash
root@00585b9efea8:/# cat /etc/hosts
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
192.168.100.2 web 2cec3235f5fa
192.168.100.3 00585b9efea8
root@00585b9efea8:/# ping web
PING web (192.168.100.2): 56 data bytes
^C--- web ping statistics ---
12 packets transmitted, 0 packets received, 100% packet loss
root@00585b9efea8:/# ping 192.168.100.2
PING 192.168.100.2 (192.168.100.2): 56 data bytes
^C--- 192.168.100.2 ping statistics ---
12 packets transmitted, 0 packets received, 100% packet loss
root@00585b9efea8:/# curl web
^C
root@00585b9efea8:/# curl http://192.168.100.2:80
^C
指定容器的三个条件:
--icc=fasle
--iptables=true
--链接
没问题,为什么不呢?
ubuntu 版本:16.04.2 LTS 码头工人版本:.13.1 内核版本:4.9.0-040900-generic
【问题讨论】:
标签: bash ubuntu docker iptables