Docker容器修改dns
在实际的开发过程中,可能会碰到以下的使用场景: 宿主机器可以正常的解析域名,但是容器里面无法解析域名,只能解析ip。碰到这种情况基本的思路有两个,一是从hosts文件下手,加入新的映射关系;一是从resolv.conf文件入手,也就是修改DNS服务器(如果是windows系统,则需要在网络配置里面手动输入DNS服务器地址)。 Docker修改DNS 如果用户是在Dockerfile里面修改/etc/resolv.conf、/etc/hosts以及/etc/hostname文件,均不会生效。每一次启动容器上述三个文件都会被虚拟文件覆盖。参考文章 “深入浅出”来解读Docker网络核心原理 此时如果需要修改容器的dns有以下两种方法: 1、 在启动容器的同时,指定dns参数 docker run --dns 10.0.0.2 --name mybusybox busybox:latest 2、 修改宿主机器的docker配置 cat /etc/docker/daemon.json { "dns" : [ "114.114.114.114", "8.8.8.8" ] } sudo service docker restart 来源: https://www.cnblogs.com/mrnx2004/p/11755240.html