无法在 Docker 1.10 中解析主机名
Can not resolve hostname in Docker 1.10
我创建了一个网络,并在网络中启动了 2 个容器
docker network create frontend
docker run -itd --name container1 --net frontend busybox
docker run -itd --name container2 --net frontend busybox
2 个容器通过 IP 地址相互 ping 通成功,但无法使用主机名。在 Docker 1.9 中,我可以同时使用 ipaddress 和主机名,但在 Docker 1.10
中不能使用主机名
docker exec container1 ping -c4 172.18.0.3 --> OK
docker exec container2 ping -c4 172.18.0.2 --> OK
docker exec container1 ping -c4 container2 --> FAILED
ping: bad address 'container2'
docker exec container2 ping -c4 container1 --> FAILED
ping: bad address 'container1'
我该如何解决这个问题?谢谢!
似乎Docker 1.10 嵌入式 DNS 在 Fedora、RHEL 和 CentOS 7 上与 selinux 和 firewalld 有问题。您可以通过禁用 selinux 和 firewalld 来解决。
希望 Docker 团队能尽快解决这个问题!
更新:
Docker 1.10.1 已修复此问题!它在 Fedora 23、CentOS 7 和 RHEL 7
上完美运行
我创建了一个网络,并在网络中启动了 2 个容器
docker network create frontend
docker run -itd --name container1 --net frontend busybox
docker run -itd --name container2 --net frontend busybox
2 个容器通过 IP 地址相互 ping 通成功,但无法使用主机名。在 Docker 1.9 中,我可以同时使用 ipaddress 和主机名,但在 Docker 1.10
中不能使用主机名docker exec container1 ping -c4 172.18.0.3 --> OK
docker exec container2 ping -c4 172.18.0.2 --> OK
docker exec container1 ping -c4 container2 --> FAILED
ping: bad address 'container2'
docker exec container2 ping -c4 container1 --> FAILED
ping: bad address 'container1'
我该如何解决这个问题?谢谢!
似乎Docker 1.10 嵌入式 DNS 在 Fedora、RHEL 和 CentOS 7 上与 selinux 和 firewalld 有问题。您可以通过禁用 selinux 和 firewalld 来解决。 希望 Docker 团队能尽快解决这个问题!
更新: Docker 1.10.1 已修复此问题!它在 Fedora 23、CentOS 7 和 RHEL 7
上完美运行