我刚刚使用自制软件在Mac上使用Docker- Toolbox安装了Docker:使用自制软件安装了Docker
在使用Rails创建并配置了容器之后,Postgres并启动了docker-compose,一切看起来都很好,但是我无法从主机访问Web服务器。
输出
$ docker-compose up dummy_1 | I, [2016-03-30T14:55:53.130639 #6] INFO -- : listening on addr=0.0.0.0:8000 fd=10
当我输入谷歌浏览器的网址http://0.0.0.0:8000/我得到
This site can’t be reached 0.0.0.0 refused to connect. ERR_CONNECTION_REFUSED
所以我尝试了
$ docker-machine env dummy
具有以下输出:
export DOCKER_TLS_VERIFY="1" export DOCKER_HOST="tcp://192.168.99.100:2376" export DOCKER_CERT_PATH="/Users/choi/.docker/machine/machines/dummy" export DOCKER_MACHINE_NAME="dummy"
当我尝试使用Chrome浏览器时,http://192.168.99.100:2376我会下载一个空白文件。为什么会这样呢?我希望我的Rails应用程序具有默认的问候页面。
http://192.168.99.100:2376
192.168.99.100在这种情况下,是您的Docker主机的IP。您需要公开容器的端口,然后才能从外部连接到它。
192.168.99.100
我不熟悉Docker Compose,但是您发布的日志 表明 暴露了端口8000。因此,请尝试http://192.168.99.100:8000。
http://192.168.99.100:8000
(之所以http://192.168.99.100:2376不起作用,是因为这是Docker守护程序本身的地址和端口,它不是基于HTTP的。至于0.0.0.0:这是您的Web服务器在容器 内部 侦听的地址,它等同于所有外部连接。但是,如果没有任何端口暴露在外,那就没办法了!)
0.0.0.0