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

Connecting to rethinkdb (or any other app running on an http port) from the Docker OS X beta

我已经安装了 the Docker for Mac beta which allows you to use docker commands directly. I want to try to run rethinkdb through docker, so I've followed the instructions of 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/,但这不起作用。我四处打听,有人告诉我

You can't use the docker private ip address space to access the ports

You have to forward them to the mac

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

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

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

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

然后它应该可以在本地主机上访问,

google-chrome http://127.0.0.1:8080/

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