首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不能从主机上ping停靠容器。

问不能从主机上ping停靠容器。
EN

Stack Overflow用户
提问于 2017-03-04 09:43:17
回答 1查看 2.3K关注 0票数 0

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

代码语言:javascript
复制
docker run -h centos -it CONTAINER_ID

您可以看到,我给它取了主机名centos,所以如果我从我的主机上平移码头容器,它就会工作。

代码语言:javascript
复制
ping centos

好吧,这不管用。我得到了以下错误。

代码语言:javascript
复制
ping: centos: Name or service not known

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

代码语言:javascript
复制
> 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地址不像主机名那样可靠,所以我想知道如何通过主机名来打开我的码头容器。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-04 10:21:49

如果要通过主机名到达容器,则需要在主机上添加/etc/hosts中的相应IP。由于Docker不修改主机上的任何内容,所以必须手动进行此操作。

代码语言:javascript
复制
echo "$(docker inspect --format '{{ .NetworkSettings.IPAddress }}' centos) centos" >> /etc/hosts

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42594488

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档