首页 > 解决方案 > docker container port 命令什么也没给出

问题描述

我在没有指定主机端口的情况下运行了一个 nginx 容器。

docker container run -d --name engineone nginx

当我检查正在运行的容器时,它显示我运行的容器。

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
d6b1d457b0b1        nginx               "nginx -g 'daemon of…"   About an hour ago   Up 58 minutes       80/tcp              engineone

现在我想知道engineone容器占用了哪个端口。于是我跑了..

docker container port engineone

但输出什么也没有。我对 docker 网络的工作原理有一些了解,但我想知道这怎么可能。它真的在没有主机端口的情况下运行吗?

标签: docker

解决方案


全天做了一些研究,在 docker docs..

默认情况下,当您创建容器时,它不会向外界发布任何端口。要使端口对 Docker 外部的服务或未连接到容器网络的 Docker 容器可用,请使用--publishor-p标志。这将创建一个防火墙规则,将容器端口映射到 Docker 主机上的端口。

所以在这里 docker 不会分配一个我们告诉它去做的端口工具。


推荐阅读