我如何 运行 运行 宁 docker 容器上的盐状态

How do I run a salt state on a running docker container

有没有什么方法可以将 运行 shell 命令作为 运行ning docker 容器中 Salt 状态的一部分?我发现 Salt 中的整个 dockerng 模块非常混乱,因为它只列出了临时命令。

根据我从文档中掌握的内容,它应该像这样工作:

mystate:
    dockerng.run:
      - name: 12345
      - cmd: bash -l -c ifconfig

好像不是这样。

master上的命令:

 sudo salt-ssh -i box_with_docker_containers state.apply

错误:

State 'dockerng.run' was not found in SLS

dockerng.run模块:

dockerng 模块包含一个 run 函数:

mystate:
  module.run:
    - name: dockerng.run
    - m_name: 12345
    - cmd: bash -l -c ifconfig

name是模块的名称,m_name[=51]所在的容器名称或ID =] 命令和 cmd 是命令。

有关 dockerng 模块的更多信息,请参阅 salt.modules.dockerng 文档。

有关 运行 一个州内的 ning 模块的详细信息,请参阅 salt.states.module

已弃用的 dockerio.run 状态:

使用 dockerio.run 您可以 运行 特定容器中的命令:

mystate:
  dockerio.run:
    - name: bash -l -c ifconfig
    - cid: 12345

name 是容器中 运行 的命令,cid 容器 id 或名称。

请注意,dockerio 自版本 2015.8.0 起已弃用,未来的功能开发将仅在 dockerng 中完成。