我在Yosemite上运行boot2docker。我在创建容器并在boot2docker中使用它们时没有遇到任何问题。我还可以通过http成功地连接到在boot2docker的vm中运行的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。
我试过几种不同的方法:
如您所见,正在运行的容器上没有显示端口信息:

发布于 2015-05-08 18:06:12
EXPOSE是而不是,用于向主机“公开”端口,用于互连容器,参见文档。
正如jm_____中提到的,您必须将容器的端口转发到boot2docker主机:
docker run -p 40001:9000 the/image/name然后通过以下方式访问它:
open http://192.168.59.103:40001或者使用docker ps查找端口,就像您已经尝试过的那样。
PS:Dockerfile__中没有Dockerfile,但您可以在docker-compose.yml文件中指定这一点。
https://stackoverflow.com/questions/30113273
复制相似问题