在Docker Compose文件中,我可以使用短格式语法轻松发布一系列端口:
ports:
- "3000-3010:3000-3010/udp"
但就我而言,我需要将这些端口作为“mode = host”来绕过群集覆盖网络.短格式语法无法表达,所以我需要使用长格式:
ports:
- published: "3000-3010"
target: "3000-3010"
protocol: udp
mode: host
但是,似乎Docker不喜欢使用长格式语法指定范围,因为我在部署堆栈时遇到了错误:
services.test.ports.0.target must be a integer
有没有办法做到这一点(通过将范围中的每个端口指定为长格式除暴力之外)?
最佳答案
目前这是不可能的.
根据我在官方docker slack通道上对此功能的讨论,使用长格式语法(这是现在唯一可用于在主机模式下发布端口的语法)公开端口范围是不可能的.
考虑到与此事有关的open ticket,我想在不久的将来它是可能的.