彻底解决 CentOS 8 系统下 Docker 容器无法解析域名问题

在宿主机上可以 Ping 通域名,但是在 Docker 容器内部无法 Ping 通域名?赶快试试下面的两个方法吧!

方法

登录 CentOS 8 宿主机的 SSH 终端,复制粘贴下面的指令 。

firewall-cmd --zone=public --add-masquerade --permanent
firewall-cmd --reload
systemctl restart docker

方法二

在 docker run 的时使用 –dns=<IP_Address> ,添加 DNS 服务器到容器的 /etc/resolv.conf 中。

DNS 服务器地址可以是宿主机的 IP 地址,也可以外部 DNS 服务器地址,比如谷歌的 8.8.8.8 或者 腾讯的 119.29.29.29 。

docker run --privileged=true --dns=192.168.1.1 --name shop-t -d -p 8080:80 -v /project:/var/www/html centos7-sshd-httpd-php56-mysql-client init

方法三

针对要访问的域名可以在 docker run 时添加 –add-host=<Site-Domain>:<IP_Address> 参数设定 Docker 容器内部的 hosts 文件绑定该域名对应的 IP 地址。

docker run --privileged=true --add-host=demo.otakusay.com:127.0.0.1 --name shop-t -d -p 8080:80 -v /project:/var/www/html centos7-sshd-httpd-php56-mysql-client init

给TA打赏
共{{data.count}}人
人已打赏
Docker教程

超简单 CentOS 8 系统下一键安装Docker 程序教程

2020-9-9 23:15:01

Docker教程

Docker 容器设置固定 IP

2020-9-24 16:27:48

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索