在docker run命令中提到–net = host时,Docker容器不公开端口

我在CentOS docker主机上有一个CentOS docker容器。 当我使用这个命令运行docker run -d --net=host -p 8777:8777 ceilometer:1.x image docker run -d --net=host -p 8777:8777 ceilometer:1.x container获取主机的IP但没有分配端口。

如果我运行相同的命令没有“–net =主机” docker run -d -p 8777:8777 ceilometer:1.xdocker揭露端口,但具有不同的IP。 docker版本是1.10.1。 我希望docker容器具有与暴露端口的主机相同的IP。 我也在Dockerfile提到EXPOSE 8777但在docker docker run命令中提到“–net = host”时没有用。

docker版本是1.10.1。 我希望docker容器具有与暴露端口的主机相同的IP。

当你使用--net=host它告诉容器使用主机networking堆栈。 所以你不能端口暴露给主机,因为它主机(就networking堆栈而言)。

docker inspect可能不会显示公开端口,但是如果您有一个应用程序在端口上侦听,它将可以在主机上运行。