如何在运行的Docker容器上运行salt状态
有什么方法可以运行一个shell命令作为正在运行的docker容器内的Salt状态的一部分吗? 我发现Salt中的整个dockerng模块非常混乱,因为它只列出特别的命令。
从我能从文档中得到的信息,它应该像这样工作:
mystate: dockerng.run: - name: 12345 - cmd: bash -l -c ifconfig
这似乎并非如此。
主人的命令:
sudo salt-ssh -i box_with_docker_containers state.apply
错误:
在SLS中找不到状态“dockerng.run”
dockerng.run模块:
dockerng
模块包含一个run
function:
mystate: module.run: - name: dockerng.run - m_name: 12345 - cmd: bash -l -c ifconfig
名称是模块的名称, m_name是运行命令的容器名称或ID, cmd是命令。
有关dockerng
模块的更多信息,请参阅salt.modules.dockerng文档。
有关从一个状态中运行模块的更多信息,请参阅salt.states.module 。
已弃用的dockerio.run状态:
使用dockerio.run,您可以在特定容器中运行命令:
mystate: dockerio.run: - name: bash -l -c ifconfig - cid: 12345
该名称是在容器中运行的命令,而cid是Container id或名称。
请注意, dockerio
自2015.8.0版开始已弃用,未来的function开发将仅在dockerng
完成。