使用 Docker 将发布的端口限制到特定容器
Restrict published port to a specific container with Docker
我有两张 Docker 图片:
- 一张tomcat镜像,暴露8080端口
- 一个mysql镜像,暴露3306端口
我 运行 两个容器使用这些图像,链接 mysql 和 tomcat :
docker run -itd -p 3306:3306 --name mysql mysql
docker run -itd -p 8080:8080 --link mysql:mysql --name tomcat tomcat
当我这样做时,tomcat 与 mysql 的通信工作正常,并且我的 tomcat 和 mysql 容器在服务器主机上可用,分别在端口 8080 上和 3306.
现在我希望在服务器主机上关闭端口 3306,并且仅可用于 tomcat 容器。我该怎么做?
在这种情况下,您可以简单地跳过 -p
参数,例如:
docker run -itd --name mysql mysql
docker run -itd -p 8080:8080 --link mysql:mysql --name tomcat tomcat
我有两张 Docker 图片:
- 一张tomcat镜像,暴露8080端口
- 一个mysql镜像,暴露3306端口
我 运行 两个容器使用这些图像,链接 mysql 和 tomcat :
docker run -itd -p 3306:3306 --name mysql mysql
docker run -itd -p 8080:8080 --link mysql:mysql --name tomcat tomcat
当我这样做时,tomcat 与 mysql 的通信工作正常,并且我的 tomcat 和 mysql 容器在服务器主机上可用,分别在端口 8080 上和 3306.
现在我希望在服务器主机上关闭端口 3306,并且仅可用于 tomcat 容器。我该怎么做?
在这种情况下,您可以简单地跳过 -p
参数,例如:
docker run -itd --name mysql mysql
docker run -itd -p 8080:8080 --link mysql:mysql --name tomcat tomcat