如何从主机访问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 psCONTAINER 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 ip192.168.59.103
而且我可以从以下主机上浏览我的网站 http://192.168.59.103:49159/
我不需要route
在主机上添加任何内容
以上是 如何从主机访问Docker容器的Web服务器 的全部内容, 来源链接: utcz.com/qa/433221.html