我无法从我的 docker 容器中按名称(ping google.com)ping,但只能通过 ip(ping 8.8.8.8)。从 cmd 我可以按名称和 ip ping,所以我认为是我的 docker 上的一些网络设置。
我对网络的了解不多,所以如果有人知道如何允许按名称进行 ping,我将不胜感激。
问候,斯特凡
我无法从我的 docker 容器中按名称(ping google.com)ping,但只能通过 ip(ping 8.8.8.8)。从 cmd 我可以按名称和 ip ping,所以我认为是我的 docker 上的一些网络设置。
我对网络的了解不多,所以如果有人知道如何允许按名称进行 ping,我将不胜感激。
问候,斯特凡
首先,某些网络服务器(例如 google.com)不回复 ping 命令。如果您能够看到 IP 已解决,那么您没有任何问题。
否则,您可以通过运行以下命令检查容器正在使用的 dns 服务器:
docker exec -it <container-name> cat /etc/resolve.conf
如果未显示8.8.8.8
为已配置的 dns 服务器,则需要执行以下操作之一:
/etc/systemd/system/docker.service.d/dns.conf
通过创建具有以下内容的文件,为 docker 配置 systemd dns :
[Service]
ExecStart=
ExecStart=/usr/bin/docker daemon -H fd:// --dns 8.8.8.8 --dns x.x.x.x --dns x.x.x.x
或者,在启动容器时通过添加 --dns 选项来指定一个 dns 列表以运行
docker run --dns 8.8.8.8 ...