端口未接收到易损坏的docker模块



我正在使用ansible(2.0(docker模块来启动jboss docker容器。我的剧本如下:

- name: Pull aplication jboss container
docker:
name: jboss
image: jboss/wildfly
state: started
pull: always
ports:
- "9990:9990"
- "8080:8080"
command: "/opt/jboss/wildfly/bin/standalone.sh -b 0.0.0.0 -bmanagement 0.0.0.0"

我想模仿文档中显示的命令:

docker run -p 8080:8080 -p 9990:9990 -it jboss/wildfly /opt/jboss/wildfly/bin/standalone.sh -b 0.0.0.0 -bmanagement 0.0.0.0

如果我执行剧本并运行docker-ps,我的端口不会绑定到9990,只有8080:

0.0.0.0:8080->8080/tcp

如果我不使用剧本,只使用前面提到的我想模仿的命令运行docker容器,我可以看到两个端口:

0.0.0.0:8080->8080/tcp, 0.0.0.0:9990->9990/tcp

如何使用docker模块绑定8080和9990端口?

我最终手动暴露了这两个端口,通过暴露命令:

- name: Pull aplication jboss container
docker:
name: jboss
image: jboss/wildfly
state: started
pull: always
expose:
- 9990
- 8080
ports:
- "9990:9990"
- "8080:8080"
command: "/opt/jboss/wildfly/bin/standalone.sh -b 0.0.0.0 -bmanagement 0.0.0.0"

我不确定这是否是最好的答案,但目前,它正在解决端口未暴露的问题。

最新更新