问题与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频道上。