Docker 仅向主机公开一个端口

标签 docker

docker 是否能够将端口仅暴露给主机而不暴露给外部。

我需要放置一个运行mongo数据库的docker,我希望它只能从主机访问,但我需要链接主机端口27017。

这可能吗,还是唯一可能的方法是更改​​防火墙定义?

最佳答案

当然,只需将其绑定(bind)到 localhost,如下所示:

docker run -p 127.0.0.1:27017:27017

另外:您的主机也可以通过其 IP 与每个容器正常通信。使用 docker inspect $ID 获取包含网络 IP 的 json 转储(除其他内容之外)。

关于Docker 仅向主机公开一个端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22100587/

相关文章:

mysql - 错误: The command '/bin/sh returned a non-zero code: 1

windows - Docker 推送到 AWS ECR 在 Windows : no basic auth credentials 上失败

macos - 如何从本地 Kubernetes 连接到本地机器上的数据库

git - 如何自动增加 docker 标签?

docker - Docker容器和mysql容器连接错误

shell - 使用Dockerfile中的Shell脚本启动多个服务

java - java 套接字上的 Docker : java.net.ConnectException: Connection refused (Connection refused)

networking - Docker 容器在 localhost 上可见,但在具有自定义 bridge0 的其他主机上不可见

Docker build 与 Docker run 的行为不一样

docker - 如何在这个 meteor docker 镜像中部署应用程序?