从Docker OS X beta连接到rethinkdb(或在http端口上运行的任何其他应用程序)

时间:2016-08-18 01:43:37

标签: macos docker portforwarding

我已经安装了the Docker for Mac beta,它允许您直接使用docker命令。我想尝试通过docker运行rethinkdb,因此我按照the rethinkdb docker container docs的说明操作并执行以下操作:

docker run --name some-rethink -v "$PWD:/data" -d rethinkdb

这很有效,我可以看到包含docker ps的容器并使用docker exec -it /bin/bash启动shell

但是,我无法通过他们的建议

直接连接到Mac上的管理面板
$BROWSER "http://$(docker inspect --format \
  '{{ .NetworkSettings.IPAddress }}' some-rethink):8080"

这基本上等于google-chrome http://172.17.0.2:8080/,但这不起作用。我四处询问并被告知

  

您无法使用docker私有IP地址空间来访问端口

     

你必须将它们转发给mac

但是,我不确定如何执行此操作,因为我没有任何熟悉的端口转发工具,例如容器本身的ssh。使用rethinkdb容器中的建议端口转发命令文档ssh -fNTL ...但使用localhost而不是remote不起作用。

如何通过http与Mac上的docker测试版连接到rethinkdb管理面板?

1 个答案:

答案 0 :(得分:5)

尝试使用-p命令中的docker run标志转发容器端口,例如:

docker run -p 8080:8080 --name some-rethink -v "$PWD:/data" -d rethinkdb

然后它应该可以在localhost上访问,

google-chrome http://127.0.0.1:8080/

相关的docker run文档:https://docs.docker.com/engine/reference/run/#/expose-incoming-ports