即使不绑定端口,也会发生 Docker 端口冲突

  • 本文关键字:冲突 Docker 绑定 docker
  • 更新时间 :
  • 英文 :


我正在运行同一应用程序的 2 个 Docker 容器,没有绑定到任何端口,但仍然 get port 已经用于第二个容器。不知道为什么会发生这种情况,因为我没有公开端口。

使用不同的名称运行以下命令两次。

docker -H unix:///var/run/docker.sock run 
--cpu-shares 512 
--memory 536870912 
-e ARG1=Test
-v /dev/urandom:/dev/random:ro 
-v /tmp/mesos/slaves/f1cb5bcd-0590-40f0-91d6-47fdf0315b19-S1/docker/links/15d651e2-51e8-4c6b-b304-4f7faf5e260b:/mnt/mesos/sandbox 
--net host 
--name test
docker.hub.com/test:latest

不知道为什么会发生这种情况,因为我没有公开端口。

您正在使用--net host.您实际上是在公开所有端口:也就是说,进程正在运行主机的网络环境,而不是在隔离的容器环境中运行。

如果任何其他内容绑定到容器化应用程序正在使用的端口(或者如果要从另一个容器发布这些端口(,则会遇到此错误。