如何从主机访问Docker容器的Web服务器

我正在boot2docker 1.3.1下运行。

我有一个Docker容器通过运行Web服务器uwsgi --http :8080

如果我连接到该容器,则可以使用浏览该网站,lynx http://127.0.0.1:8080以便知道服务器正在运行。

我用以下容器运行容器:

$ docker run -itP --expose 8080 uwsgi_app:0.2

它具有以下详细信息:

$ docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

5248ad86596d uwsgi_app:0.2 "bash" 11 minutes ago Up 11 minutes 0.0.0.0:49159->8080/tcp cocky_hypatia

$ docker inspect --format '{{ .NetworkSettings.IPAddress }}' 5248ad86596d

172.17.0.107

我以为可以访问,从托管人访问该网站http://172.17.0.107:49159

这是行不通的。我只是在Chrome中看到“正在连接…”,却一无所获。

我究竟做错了什么?

回答:

好吧,愚蠢的我,我在boot2docker的文档中找到了答案

https://docs.docker.com/installation/mac/#container-port-

redirection

我需要使用boot2docker vm的IP地址,而不是容器的IP,即

$ boot2docker ip

192.168.59.103

而且我可以从以下主机上浏览我的网站 http://192.168.59.103:49159/

我不需要route在主机上添加任何内容

以上是 如何从主机访问Docker容器的Web服务器 的全部内容, 来源链接: utcz.com/qa/433221.html

回到顶部