尝试使用Docker容器设置本地DNS – 试图连接到它

我在家里有一个UNRAID服务器,除了一个文件服务器有一堆的容器和虚拟机,现在我试图把我自己的DNS服务器安装在这些虚拟机之一,让我的路由器使用它作为主DNS。

现在我正在按照这个指导来设置使用Docker镜像的BIND,但是我被困在应该通过使用容器来parsing主机名来testing连通性的部分。

这些是我的networking设置:

  • 网关/路由器:192.168.1.1
  • 虚拟机将是DNS:192.168.1.3
  • 我的想法是,路由器将把它的主要DNS指向该虚拟机的地址,辅助DNS指向谷歌或我的ISP。
  • networking中的其他设备都将使用路由器作为主DNS。

下面是我做什么来启动容器:

sudo docker run --name bind -d --restart=always \ --publish 53:53/tcp --publish 53:53/udp --publish 10000:10000/tcp \ --volume /srv/docker/bind:/data \ sameersbn/bind 

我可以看到容器正在运行

 CONTAINER CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS bind 0.00% 137.8 MiB / 3.856 GiB 3.49% 18.7 MB / 474 kB 0 B / 34.3 MB 6 

但如果我尝试testing它,我得到这个

 ~/ host www.google.com 192.168.1.3 Using domain server: Name: 192.168.1.3 Address: 192.168.1.3#53 Aliases: Host www.google.com not found: 5(REFUSED) 

如果我进入容器本身并从那里执行命令,我会得到一个成功的回应

 root@cache:/home/laucien# docker exec -it bind bash root@2333b54a5291:/# host www.google.com 127.0.0.1 Using domain server: Name: 127.0.0.1 Address: 127.0.0.1#53 Aliases: www.google.com has address 64.233.186.104 www.google.com has address 64.233.186.105 www.google.com has address 64.233.186.106 www.google.com has address 64.233.186.103 www.google.com has address 64.233.186.147 www.google.com has address 64.233.186.99 www.google.com has IPv6 address 2800:3f0:4003:c00::68 

最后。 如果我尝试从另一台机器而不是webadmin页面http://192.168.1.3:10000/我得到这个:

 Error - Document follows This web server is running in SSL mode. Try the URL https://7e14f365bfd1:10000/ instead. 

那么…有什么想法,我可能会失踪或我可以搞砸了?

/编辑:我读过这个Github的问题 ,这似乎是我面临的同样的问题,但无法让它工作。 很确定我搞砸了某个地方的configuration。

/编辑2:好吧,我知道,如果我使用容器的IP地址172.17.0.2我可以使用DNS服务器从外部(但仍在主机)。 我还无法弄清楚的是如何映射虚拟机的地址192.168.1.3以便我可以使用其他机器的地址。