开始 - 我仍在现场寻找答案,看起来它们可能让我找到解决问题的方法,在这里发布绝对不是我找到解决方案的第一站,我今天一直在尝试一段时间。另外-感谢您的阅读。我正在为类分配任务,其中对象是运行 bind9 docker 容器作为 DNS 负载平衡器,以使用循环方法平衡两个 Web 服务器之间的请求。所以基本上,如果我向 Web 服务器的域名发出请求,它将转到一个 Web 服务器的 IP 地址,然后下一个请求将转到下一个 Web 服务器的 IP 地址。如果我的术语有点偏离,我深表歉意,我仍在学习这些东西,但希望我已经明白了这一点。我一直在尝试为此使用 2 个 Ubuntu 16.04 虚拟机,一种运行着 httpd 容器,另一种运行着 httpd 容器和 bind9 容器。我能够让 Web 服务器运行,我能够使用主机 IP 连接到它们,并且我还能够让 bind9 容器运行。如果我在浏览器中输入域名,我真正遇到问题的部分实际上是让 bind9 DNS 容器将我带到 Web 服务器。
这是我用来启动 bind9 容器的命令: docker run -d --name=bind --dns=127.0.0.1 --publish=192.168.0.45:53:53/udp --publish=192.168.0.45:10000 :10000 --volume=/srv/docker/bind:/data --env='ROOT_PASSWORD=SecretPassword'sameersbn/bind:latest
Web 服务器非常简单,我只需将包含我的 index.html 文件的目录绑定到 /usr/local/apache2/htdocs 并将其从容器的 80 端口发布到主机的 80 端口。
所有这一切都必须是我本地网络上的一个非常简单的设置,所以我不需要注册域名,我不需要邮件服务器或任何东西,我需要做的就是能够使用“挖掘”向 DNS 服务器查询负载平衡的主机名,并将其解析为 Web 服务器的两个不同 IP 地址。感谢您对此的任何指导,我非常感谢您的帮助,我查看了大量资源,但我只是不知道出了什么问题。
启动 DNS 服务器(bind9 容器)后,我可以使用命令 'host google.com 172.xxx' 并返回正确的信息,我猜 172.xxx 是 docker 容器的 IP,因为我的本地网络是192.168.0.1/24。当我尝试使用 docker 主机的 IP 执行相同的命令时,它显示 REFUSED。我尝试编辑 ACL,使用 webmin 添加区域和地址记录,但我无法让它工作。我现在将停止写作,希望我已经提供了足够的信息,感谢您的阅读。