bre*_*top 5 docker docker-machine
我无法访问容器的Web服务器,localhost:80但我可以访问Web服务器127.0.0.1:80.
我究竟做错了什么?
我在Mac上安装了docker Version 1.12.2-rc1-beta27(build:12496).
我用命令运行了一个容器docker run -d -p 80:80 training/webapp python app.py.
容器具有以下属性
$docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
baaf4676e548 training/webapp "python app.py" 22 minutes ago Up 22 minutes 0.0.0.0:80->5000/tcp big_volhard
Run Code Online (Sandbox Code Playgroud)
我的理解是我应该可以访问该网站localhost:80.
这不起作用.我收到错误消息
Could not get any response
Run Code Online (Sandbox Code Playgroud)
我知道我使用Docker for Mac,因为我已经运行了命令env | grep DOCKER并且它没有返回任何输出.
第一次更新:我/etc/hosts看起来像:
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
Run Code Online (Sandbox Code Playgroud)
第二次更新:我也注意到当我使用命令运行容器时docker run -d -P training/webapp python app.py,然后localhost:autoGeneratedPortNumber工作.
现在我不确定为什么两个命令(或多或少相同,唯一的区别在于指定一个端口号)具有不同的效果.
小智 1
在您的服务器文件中,不要在 127.0.0.1 (localhost) 处侦听服务器,而是在 0.0.0.0 处侦听,这意味着您的服务器现在将侦听任何可用的网络接口。我犯了这个错误,但是改了之后,效果很好。
| 归档时间: |
|
| 查看次数: |
1139 次 |
| 最近记录: |