前言
之前将 Docker
中的路由转发到了宿主机,相当于每个容器都变成了一个小型服务器。
然而各个服务之间都会可能会通过自定义域名进行交互,这个时候,我们需要在容器中的 etc/hosts
中写入所依赖的服务IP及其域名。
为了能够更好的解决这个问题,再次之前自建了 DNS
服务,这个时候,只需要指定一下 Docker
的 DNS
配置即可。
环境
Docker
Ubuntu20.04
准备
需要有自建的 DNS
服务,可以参考 Ubuntu使用dnsmasq自建dns服务
配置
Linux
这里以 Ubuntu20.04 为例
编辑 Docker
的 daemon.json
sudo vim /etc/docker/daemon.json
添加如下配置:
{
"dns": ["自建DNS服务的IP", "8.8.8.8"]
}
重载配置及重新启动
sudo systemctl daemon-reload
sudo service docker restart
Windows
点击下方 Apply & Restart
。
Mac
参考 Linux 和 Windows 配置。
最后
再也不用去指定一堆 hosts
了,服务之间可以互相调用了。