我在CentOS docker主机上有一个CentOS docker容器。当我使用此命令运行docker映像时docker run -d --net=host -p 8777:8777 ceilometer:1.x,docker容器获取主机的IP,但没有为其分配端口。
docker run -d --net=host -p 8777:8777 ceilometer:1.x
如果我在不使用“ –net = host”的情况下运行相同的命令,则docker docker run -d -p 8777:8777 ceilometer:1.x将公开端口,但使用不同的IP。码头工人版本是1.10.1。我希望Docker容器具有与主机相同的IP,并具有暴露的端口。我Dockerfile在指令中也提到过,EXPOSE 8777但是在docker run命令中提到“ –net = host”时没有用。
docker run -d -p 8777:8777 ceilometer:1.x
Dockerfile
EXPOSE 8777
docker run
码头工人版本是1.10.1。我希望docker容器具有与主机相同的ip,并带有暴露的端口。
使用时,--net=host它告诉容器使用主机网络堆栈。因此,您不能 将 端口 公开 给主机,因为它 是 主机(就网络堆栈而言)。
--net=host
docker inspect 可能不会显示公开端口,但是如果您有一个正在侦听端口的应用程序,则该应用程序将像在主机上运行一样可用。
docker inspect