Docker常見問題

容器內無DNS支持

現象:在Docker容器內ping IP可達,可是ping 域名不可達。
分析:IP可達可確認網絡連通性沒問題,剩下就是DNS的問題,docker官網有對該問題的說明及解決方案,詳見:http://docs.docker.com/installation/ubuntulinux/#docker-and-local-dns-server-warnings ,然而在本地測試時問題依舊。宿主Host中的/etc/resolv.conf中的nameserver映射正確,在容器中查看/etc/resolv.conf發現nameserver的映射仍舊是8.8.8.8和8.8.4.4,那確定沒法解析了,可是想修改這個文件卻發現是readonly的。退出容器,用 docker inspect CONTAINER_ID 命令查看該容器的描述,發現以下信息: linux

"ResolvConfPath": "/var/lib/docker/containers/f6e197821d91d9a205ad70201a56d4484e28e2628cf95c0a1ecbb39a7ad1fa8f/resolv.conf"

暈,原來容器內的resolv.conf映射到了這個文件上而不是宿主Host的/etc/resolv.conf文件上,致使修改了宿主Host的/etc/resolv.conf沒有生效到已經建立的容器中。  docker

解決:修改/var/lib/docker/containers/下對應容器的resolve.conf
相關文章
相關標籤/搜索