无法通过容器的ip访问Docker容器中的Web应用程序,并通过http访问暴露的端口

时间:2016-06-09 08:07:35

标签: networking docker ip centos6

我有一个在Centos主机上运行的docker容器,并且有一个主机端口:容器端口映射。 docker容器有一个运行的Web应用程序。

CONTAINER ID        IMAGE                  COMMAND             CREATED             STATUS              PORTS                            NAMES
a2f8ce62bb69        image1                 "/bin/bash"         16 hours ago        Up 16 hours         22/tcp, 0.0.0.0:7001->7001/tcp   nostalgic_elion

我可以通过主机IP地址和映射的主机端口访问http。但是,如果我用容器IP替换主机IP,则会收到错误消息“无法访问站点”ERR_CONNECTION_TIMED_OUT。

是否可以通过http使用容器IP和公开端口进行访问?不幸的是,我没有太多的网络背景。

2 个答案:

答案 0 :(得分:0)

默认情况下,Docker容器可以与外界建立连接,但外部世界无法连接到容器。 (https://docs.docker.com/v1.7/articles/networking/

然而,文档说,有可能让外界与具有一些额外运行选项的容器交谈。文档说明了如何使用带有选项的运行-P或---- publish-all = true | false。请参阅同一docker networking页面中的选项。

答案 1 :(得分:0)

如果你唯一的需要是为团队分享不同的IP地址。使用docker containers ip address - localhost

更新主机文件
My /etc/hosts file:

container-ip   localhost
container-ip   localhost
container-ip   localhost