如何仅将 Docker 容器端口公开给 localhost,以便也可以通过 ssh 隧道访问它?
Posted
技术标签:
【中文标题】如何仅将 Docker 容器端口公开给 localhost,以便也可以通过 ssh 隧道访问它?【英文标题】:How can I expose a Docker container port only to localhost so that it is also accessible via an ssh tunnel? 【发布时间】:2017-08-31 14:50:19 【问题描述】:希望直截了当。我知道如何仅使用
绑定到主机-p 127.0.0.1:$HOSTPORT:$CONTAINERPORT
我遇到的问题是这样做会阻止我通过 ssh 隧道访问映射的主机端口到 docker 主机。
有没有办法做到这一点,而不必在某处阻塞 docker 主机的上游端口?
【问题讨论】:
【参考方案1】:只需将 ssh 隧道的目标设为 localhost
或 127.0.0.1
。
ssh -L local-port:127.0.0.1:container-port docker-host
会将您的local-port
转发至docker-host
上的localhost:container-port
。无需将容器端口暴露给外网。
【讨论】:
谢谢!做到了。以上是关于如何仅将 Docker 容器端口公开给 localhost,以便也可以通过 ssh 隧道访问它?的主要内容,如果未能解决你的问题,请参考以下文章
sh 在Docker容器中启动MongoDB并检查公开的端口