gpt4 book ai didi

linux - 无法从主机 ping docker 容器

转载 作者:太空宇宙 更新时间:2023-11-04 09:20:25 26 4
gpt4 key购买 nike

我从 docker 镜像 centos:7 创建了一个 docker 容器,并通过以下命令启动它:

docker run -h centos -it CONTAINER_ID

你可以看到我给它的主机名 centos,所以如果我从我的主机 ping docker 容器它应该可以工作。

ping centos

嗯,没用。我收到以下错误。

ping: centos: Name or service not known

但是,如果我将主机名更改为 docker 容器的 IP 地址,它就会起作用。

> ping 172.17.0.2                                                                                                                
PING 172.17.0.2 (172.17.0.2) 56(84) bytes of data.
64 bytes from 172.17.0.2: icmp_seq=1 ttl=64 time=0.041 ms
64 bytes from 172.17.0.2: icmp_seq=2 ttl=64 time=0.042 ms
64 bytes from 172.17.0.2: icmp_seq=3 ttl=64 time=0.037 ms

由于 ip 地址不如主机名可靠,我想知道如何通过主机名 ping 我的 docker 容器。

最佳答案

如果你想通过主机名访问你的容器,你需要在 /etc/hosts 中添加相应的 IP。在您的主机上。由于 Docker 不会修改主机上的任何内容,您必须手动执行此操作。

echo "$(docker inspect --format '{{ .NetworkSettings.IPAddress }}' centos) centos" >> /etc/hosts

相反,我建议在主机上映射所需的容器端口(使用 -p <local-port>:<container-port> )。

关于linux - 无法从主机 ping docker 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42594488/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com