我刚刚使用自制软件在我的 Mac 上安装了带有 Docker-Toolbox 的 Docker:用自制软件 安装 docker
在使用 Rails、Postgres 和启动 docker-compose 创建和配置容器后,一切看起来都很好,但我无法从主机访问网络服务器。
的输出
$ 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 应用程序的默认问候页面。
原文由 StandardNerd 发布,翻译遵循 CC BY-SA 4.0 许可协议
192.168.99.100
是您的 Docker 主机的 IP,在这种情况下。您需要公开容器的端口,然后您就可以从外界连接到它。我不熟悉 Docker Compose,但您发布的日志 表明 端口 8000 已暴露。因此,请尝试
http://192.168.99.100:8000
。(原因
http://192.168.99.100:2376
不起作用是因为这是Docker守护进程本身的地址和端口,不是基于HTTP的。至于0.0.0.0
:这是您的 Web 服务器正在容器 内部 进行侦听,并等同于其中的所有外部连接。但是,如果没有暴露任何端口,就无法进入!)