我有一个Java套接字应用程序,需要端口号作为CLI参数。在我的本地机器上,我可以通过以下方式运行它:
docker run -d -p 1111:1111 --name <name> --link <link> <foo>/<bar> 1111
问题是我在使用Ansible时没有找到传递端口号的解决方案(我有一个拉动图像的不同任务)。当前任务:
- name: Run server
docker:
name: <name>
image: <foo>/<bar>
state: reloaded
ports:
- "1111:1111"
links:
- "<link>"
有没有办法将端口作为CLI参数传递?或者有一个简单的方法来解决这个问题?我想上传新图片或使用the command module,但似乎都不是正确的方法。
答案 0 :(得分:5)
在Ansible的Docker模块中传递任意参数没有原生支持。见passing extra args to docker: task。
您是否可以使用shell模块来实现您的目标?
答案 1 :(得分:2)
如果您可以更改图片,我建议改用environment vars。这是由docker模块支持的。
- name: Run server
docker:
name: <name>
image: <foo>/<bar>
state: reloaded
ports:
- "1111:1111"
links:
- "<link>"
env:
MY_PORT: 1111