Docker DNS服务器不可联系的外部容器
我知道这看起来像一个重复的post,但我没有审查其他人,甚至尝试从这些post的一些选项,但似乎没有得到它的工作。
我有一个在Docker容器中运行的绑定DNS服务器。
docker run --name=dns-server -it -d --dns=8.8.8.8 --dns=8.8.4.4 -p 53:53/tcp -p 53:53/udp -v /DATA/etc/bind:/etc/bind -v /DATA/var/cach /bind:/var/cache/bind -v /DATA/var/log/named:/var/log/named jon/dns-server
运行良好:
[root@docker-01 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8272ac164460 jon/dns-server "/entrypoint.sh" 34 seconds ago Up 34 seconds 0.0.0.0:53->53/tcp, 0.0.0.0:53->53/udp dns-server
端口53是暴露在udp和tcp上…
[root@docker-01 ~]# docker port dns-server 53/tcp -> 0.0.0.0:53 53/udp -> 0.0.0.0:53
如果我对容器地址进行查询:
[root@docker-01 ~]# host google.com 172.17.0.2 Using domain server: Name: 172.17.0.2 Address: 172.17.0.2#53 Aliases: google.com has address 216.58.206.78 google.com has IPv6 address 2a00:1450:4009:815::200e google.com mail is handled by 20 alt1.aspmx.l.google.com. google.com mail is handled by 30 alt2.aspmx.l.google.com. google.com mail is handled by 40 alt3.aspmx.l.google.com. google.com mail is handled by 50 alt4.aspmx.l.google.com. google.com mail is handled by 10 aspmx.l.google.com.
但是,当我尝试与主机地址:
[root@docker-01 ~]# host google.com 192.168.56.101 Using domain server: Name: 192.168.56.101 Address: 192.168.56.101#53 Aliases: Host google.com not found: 5(REFUSED)
它被拒绝了。
我已经尝试在iptables中添加规则以允许端口53通过,而且我也尝试了在--net=host
运行中用--net=host
感觉就像我正在接近这个工作,但我认为这是iptables是把我扔了。
我不认为使用容器地址作为DNS服务器是一种select,因为最终我需要将此VM(主机)移动到esxi主机,以便为该环境中的其他VM提供DNS服务。
感谢Jon
- Docker中的Hadoopconfiguration – Datanode不能连接
- Kubernetes dns外部资源
- Kafka无法parsingZookeper的DNS名称
- Dockerfile:Docker build不能下载软件包:centos-> yum,debian / ubuntu-> apt-get后面的内网
- 在Ubuntu上使用Ubuntu Artwork的Docker容器中的DNSparsing
- 用docker和selenium读取本地URL
- Docker无法在专用networking上parsingDNS
- 本地计算机上的Docker DNS问题
- Wierd Docker DNS错误引用C文件?