如何使用Docker Compose文件使用’mode = host’发布一系列端口?

在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,我想在不久的将来它是可能的.

相关文章

最近一直在开发Apworks框架的案例代码,同时也在一起修复Apw...
最近每天都在空闲时间努力编写Apworks框架的案例代码WeText。...
在《Kubernetes中分布式存储Rook-Ceph部署快速演练》文章中,...
最近在项目中有涉及到Kubernetes的分布式存储部分的内容,也...
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.ne...
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.ne...