最近一个项目在用 docker swarm,根据用户的要求,需要动态去设置主机的 /etc/resolv.conf 文件,加上以下内容:
search domain.local
nameserver xxx.xxx.xxx.xxx
设置后,在主机内就可以 ping 通 xxx.domain.local 这样的域名。
但这个设置对已启动的容器无效,容器内默认的 resolv.conf 文件是如下内容:
nameserver 127.0.0.11
options ndots:0
这时 ping 不通域名。
如果 docker 或主机重启后,容器内的 resolv.conf 文件会自动加上如下一行:
search domain.local
这时就可以 ping 通域名了。
因为容器比较多,不想改个文件就去重启 docker 或主机,有没有什么方法能让主机修改 resolv 文件后,对已启动的容器也立即生效?
search domain.local
nameserver xxx.xxx.xxx.xxx
设置后,在主机内就可以 ping 通 xxx.domain.local 这样的域名。
但这个设置对已启动的容器无效,容器内默认的 resolv.conf 文件是如下内容:
nameserver 127.0.0.11
options ndots:0
这时 ping 不通域名。
如果 docker 或主机重启后,容器内的 resolv.conf 文件会自动加上如下一行:
search domain.local
这时就可以 ping 通域名了。
因为容器比较多,不想改个文件就去重启 docker 或主机,有没有什么方法能让主机修改 resolv 文件后,对已启动的容器也立即生效?
