如何在运行的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模块包含一个runfunction:

 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完成。