问题与SaltStack Docker-py端口绑定tcp和udp到相同的端口

问题描述:

你好,我有一个问题,配置TCP和UDP通过SaltStack和dockerio模块的同一端口。在这种情况下,我想TCP和UDP端口53问题与SaltStack Docker-py端口绑定tcp和udp到相同的端口

的环境中配置DNS是主机和奴才一样的,细节是:

Ubuntu 15.04 
lxc-docker 1.6.2 package (from deb https://get.docker.com/ubuntu docker main) 
salt-common 2015.5.0+ds-1utopic1 package 
salt-minion 2015.5.0+ds-1utopic1 package (salt-minion 2015.5.0 (Lithium)) 
salt-master 2015.5.0+ds-1utopic1 package (salt-master 2015.5.0 (Lithium)) 
docker-py 1.2.2 

从Dockerfile的容器:

EXPOSE 53 
EXPOSE 53/udp 

相关配置为SaltStack从state.sls文件中查找该容器(内docker.running):

{% set hostport1   = '53' %} 
{% set hostport1_proto  = 'udp' %} 
{% set hostport2   = '53' %} 
{% set hostport2_proto  = 'tcp' %} 
... 
     - ports: 
      "{{ hostport1 }}/{{ hostport1_proto }}": 
       HostIp: "" 
       HostPort: "{{ hostport1 }}" 
      "{{ hostport2 }}/{{ hostport2_proto }}": 
       HostIp: "" 
       HostPort: "{{ hostport2 }}" 
... 

容器启动并成功运行。问题是只有TCP端口被映射,UDP端口保持未映射。我列出TCP和UDP端口的顺序并不重要,只有TCP端口通过docker映射。

From docker ps -a: 
0.0.0.0:53->53/tcp, 53/udp 

我已经经历了所有我能找到的资料看,我已经看到泊坞窗-PY,但没有最近貌似没有人有这个问题相关的旧的封闭问题。

我已经证实,运行容器手工做的工作和正确映射端口:

docker run ... -p 53:53 -p 53:53/udp ... 
docker ps -a 
... 0.0.0.0:53->53/tcp, 0.0.0.0:53->53/udp ... 

因此,这证实了我对这个问题的根源或配置错误是在任一搬运工-PY或SaltStack。任何信息或配置提示将不胜感激。谢谢。

此问题的来源是HostIp:字段的配置。使用空白值“”是不可接受的。相反,将HostIp设置为“0.0.0.0”可以完全解决此问题。这方面的文件不清楚。

非常感谢和信任去Freenode IRC的#salt频道上。