Docker on Mac: 无法查看端口
Docker on Mac: Can't view ports
我在 Yosemite 上 运行 boot2docker。我可以轻松创建容器并在 boot2docker 中使用它们。我也可以通过 http 成功连接到 boot2docker 的虚拟机中的 docker 守护进程 运行。但是,当我使用 Revel 创建容器并启动 Revel 时,我无法从浏览器连接到 Revel 的端口 9000。
我采用的是这种方法:http://www.medding.me/blog/2014/09/06/setting-up-a-docker-environment-for-golang-development-part-1/
这是 运行 Revel 服务器:
INFO 2015/05/07 20:19:00 revel.go:329: Loaded module static
INFO 2015/05/07 20:19:00 revel.go:329: Loaded module testrunner
INFO 2015/05/07 20:19:00 revel.go:206: Initialized Revel v0.12.0 (2015-03-25) for >= go1.3
INFO 2015/05/07 20:19:00 run.go:57: Running revel3 (alexed1/revel3) in dev mode
INFO 2015/05/07 20:19:00 harness.go:165: Listening on :9000
当我使用浏览器连接到 192.168.59.103:9000 时,我得到 ERR_CONNECTION_REFUSED
。
我尝试了几种不同的方法:
- docker文件中有 EXPOSE(9000);
- VirtualBox 客户端配置如下:
http://screencast.com/t/KiRdimWVnwqS in accordance with the direction of http://odewahn.github.io/docker-jumpstart/boot2docker.html。我试过同时使用 localhost 和 127.0.0.1 作为主机值。
如您所见,运行 容器上未显示任何端口信息:
EXPOSE
是 而不是 "exposing" 端口到主机,它用于互连容器,参见 docs。
如 jm_____ 所述,您必须将容器的端口转发到您的 boot2docker
主机:
docker run -p 40001:9000 the/image/name
然后通过以下方式访问它:
open http://192.168.59.103:40001
或通过您已经尝试过的 docker ps
找到端口。
PS: Dockerfile
中没有 PORT
,但您可以在 docker-compose.yml
文件中指定它。
我在 Yosemite 上 运行 boot2docker。我可以轻松创建容器并在 boot2docker 中使用它们。我也可以通过 http 成功连接到 boot2docker 的虚拟机中的 docker 守护进程 运行。但是,当我使用 Revel 创建容器并启动 Revel 时,我无法从浏览器连接到 Revel 的端口 9000。
我采用的是这种方法:http://www.medding.me/blog/2014/09/06/setting-up-a-docker-environment-for-golang-development-part-1/
这是 运行 Revel 服务器:
INFO 2015/05/07 20:19:00 revel.go:329: Loaded module static
INFO 2015/05/07 20:19:00 revel.go:329: Loaded module testrunner
INFO 2015/05/07 20:19:00 revel.go:206: Initialized Revel v0.12.0 (2015-03-25) for >= go1.3
INFO 2015/05/07 20:19:00 run.go:57: Running revel3 (alexed1/revel3) in dev mode
INFO 2015/05/07 20:19:00 harness.go:165: Listening on :9000
当我使用浏览器连接到 192.168.59.103:9000 时,我得到 ERR_CONNECTION_REFUSED
。
我尝试了几种不同的方法:
- docker文件中有 EXPOSE(9000);
- VirtualBox 客户端配置如下: http://screencast.com/t/KiRdimWVnwqS in accordance with the direction of http://odewahn.github.io/docker-jumpstart/boot2docker.html。我试过同时使用 localhost 和 127.0.0.1 作为主机值。
如您所见,运行 容器上未显示任何端口信息:
EXPOSE
是 而不是 "exposing" 端口到主机,它用于互连容器,参见 docs。
如 jm_____ 所述,您必须将容器的端口转发到您的 boot2docker
主机:
docker run -p 40001:9000 the/image/name
然后通过以下方式访问它:
open http://192.168.59.103:40001
或通过您已经尝试过的 docker ps
找到端口。
PS: Dockerfile
中没有 PORT
,但您可以在 docker-compose.yml
文件中指定它。