使用 Docker 将发布的端口限制到特定容器

Restrict published port to a specific container with Docker

我有两张 Docker 图片:

我 运行 两个容器使用这些图像,链接 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