【发布时间】:2015-08-18 11:11:35
【问题描述】:
我正在尝试构建一个具有转发端口的容器,以便容器中运行的代码可以访问远程数据库。 所以我把这条线
CMD ssh -L 27017:localhost:27017
在我的 dockerfile 中然后运行它,但在任何情况下我都看不到转发的端口(我尝试了 RUN 而不是 cmd,并尝试交互地运行容器或使用 -d ,但在前一种情况下我没有转发,在后一种情况下,容器在启动后很快退出,即使在 ssh 命令的末尾加上 && /bin/bash 也是如此)。 我成功的唯一方法是进行交互式运行
$docker run -it --name cont_name im_name /bin/bash
然后从交互式 shell 执行端口转发所需的 ssh(现在绑定了 shell)。然后从本地主机上的另一个窗口,我使用“进入”第一个容器
$ docker exec -it cont_name bash
我现在确实看到了 ports forwarded 。有没有更好/自动的方法来做到这一点? 'screen' 在容器中运行似乎很麻烦。
【问题讨论】:
标签: docker portforwarding