"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 " 的论据,否则这些语句不会有效
这样的信息可以防止其他人被卡住,同时无害,不影响任何功能.内容来源: docker/compose