虚拟机中的Docker容器不能访问外网域名的问题

问题描述:
在Windows系统下使用vmware,创建了Centos8的虚拟机。在虚拟机中,安装了docker,并配置了一个容器,在容器中,可以正常ping通外网IP地址,但是无法ping通域名。
主要导致的问题就是需要域名的访问都会失败,比如系统包更新、配置一些应用需要get内容等等。

采坑过程:
开始一直以为是DNS的问题,查看/etc/resolv.conf,配置正常。手工配置hosts文件,可以正常ping通。最终各种配置无果。

解决方法:
原来只是CentOS防火墙的问题,需要允许NAT转发。
命令如下:

firewall-cmd --zone=public --add-masquerade --permanent
firewall-cmd --reload

最后重启docker即可

systemctl restart docker

参考:
http://varmain.com/index.php/post/50.html
https://www.cnblogs.com/hope250/p/8035974.html
https://www.2cto.com/os/201408/327198.html
https://blog.51cto.com/14156658/2454329

你可能感兴趣的:(Docker,Linux)