用Ansible将命令行parameter passing给Docker

我有一个Java套接字应用程序需要一个端口号作为CLI参数。 在我的本地机器上,我可以运行它通过:

docker run -d -p 1111:1111 --name <name> --link <link> <foo>/<bar> 1111 

问题是我没有find一个解决scheme来传递端口号时使用Ansible(我有一个不同的任务,拉图像)。 当前任务:

 - name: Run server docker: name: <name> image: <foo>/<bar> state: reloaded ports: - "1111:1111" links: - "<link>" 

有没有办法通过端口作为CLI参数? 还是有一个简单的方法来解决这个问题? 我已经有关于上传一个新的图像或使用命令模块,但似乎没有正确的路要走。

在Ansible的Docker模块中没有本地支持来传递任意参数。 请参阅将额外parameter passing给docker:task 。

你不能使用shell模块来实现你想要的吗?

如果你可以改变图像,我会build议使用环境variables 。 这是由docker模块支持的。

 - name: Run server docker: name: <name> image: <foo>/<bar> state: reloaded ports: - "1111:1111" links: - "<link>" env: MY_PORT: 1111