#14229·compose

"Docker compose run" 在可用 "ports" 配置但未提供 "--service-ports" 时应该发出警告

作者: dnmvisser创建于 2026年9月16日更新于 2026年9月16日
标签kind/featurestatus/0-triage

说明

当您有一个包含 " ports " 条目的 " Docker-组成.yml " 时,例如:

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? -- -- . . . 服务: 网络 : 图像: crccheck/hello-world 端口:

  • 8000: 8000 (英语).

然后,这与预期的"组成":


贝壳
# ZZTERM1 编织出网络
附于网页1
httpd 开始

然后,我可以从主机, 和另一个系统得到服务。

当做"跑"时,事情也一样好:

贝壳

Docker 编曲所运行的网络

集装箱(tmp-web-run-25ac0b9f7167) 创建 集装箱(tmp-web-run-25ac0b9f7167) 已创建 开始 httpd


但现在我无法到达容器,不是来自主机,也不是来自另一个系统.

原来我应该有RTFM,因为[里面](https://docs.ZDocker.com/reference/cli/Docker/compet/run/#description)上面写道:

> 如果您确实希望创建服务端口并将其映射到主机,请指定 " 服务端口 "

这出乎意料,花了我几个小时 我认为让"Docker" 来打印这样的东西是不错的想法:

> 警告作曲文件包含明确的 " ports " 语句,但除非您提供 " service-ports " 的论据,否则这些语句不会有效

这样的信息可以防止其他人被卡住,同时无害,不影响任何功能.