docker - 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 docs..
默认情况下,当您创建容器时,它不会向外界发布任何端口。要使端口对 Docker 外部的服务或未连接到容器网络的 Docker 容器可用,请使用
--publish
or-p
标志。这将创建一个防火墙规则,将容器端口映射到 Docker 主机上的端口。
所以在这里 docker 不会分配一个我们告诉它去做的端口工具。
推荐阅读
- r - 层次聚类——图上的聚类数
- jquery - Bootstrap 4 Menu:关闭顶部菜单项时关闭所有弹出菜单
- postgresql - Postgres NATURAL 作为属性表示为“自然”
- css - 为什么我的简单 CSS 滚动捕捉不起作用?
- javascript - 有没有办法用 javascript 创建 VPN?
- c# - 由于 Office 365 自动登录,WPF Core 应用程序在将数据写入 Access DB 时崩溃
- xamarin - Xamarin.Forms 选择器
- java - Kotlin 数据类扩展 Java 类
- php - 单线器在循环/迭代器中获取数据并存储到变量中
- html - 如何通过位置修复来弯曲 div?