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

时间:2017-07-19 14:40:57

标签: docker docker-compose docker-swarm

在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必须是整数

有没有办法做到这一点(通过将范围中的每个端口指定为长格式除暴力之外)?

1 个答案:

答案 0 :(得分:7)

目前无法做到这一点。

根据我在官方docker slack通道上对此功能的讨论,使用长格式语法(这是现在唯一可用于在主机模式下发布端口的语法)公开端口范围是不可能的。

考虑到与此问题有关的open ticke t,我想在不久的将来它是可能的。