2016-10-20 2 views
0

Есть ли способ запустить команду оболочки как часть состояния Salt внутри контейнера докеры? Я считаю, что весь модуль dockerng в Солте очень запутан, потому что он отображает только специальные команды.Как запустить состояние соли в рабочем контейнере докеров

Из того, что я могу понять из документации он должен работать так:

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

Это, кажется, не так.

Команда на главном:

sudo salt-ssh -i box_with_docker_containers state.apply 

Ошибка:

State 'dockerng.run' was not found in SLS

+1

Вы имеете в виду dockerng.running вместо dockerng.run? https://docs.saltstack.com/ru/latest/ref/states/all/salt.states.dockerng.html#salt.states.dockerng.running –

+0

Нет, контейнер запускается и запускается. Я могу подключиться к нему и запустить команду bash. Это то, что я хочу, чтобы Соль сделала. – wishi

+1

'dockerng' не имеет функции' run', вы можете использовать 'dockerio.run' для запуска команды внутри контейнера https://docs.saltstack.com/en/latest/ref/states/all/salt.states. dockerio.html # salt.states.dockerio.run –

ответ

1

Модуль dockerng.run:

В dockerng модули включает в себя функцию run:

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

имя это имя модуля, m_name имя контейнера или идентификатор, в котором, чтобы выполнить команду и CMD является команда.

Дополнительную информацию о модуле dockerng см. В документации salt.modules.dockerng.

Дополнительную информацию о запуске модулей из состояния можно получить в salt.states.module.

Устаревшее dockerio.run состояние:

Использование dockerio.run вы можете запустить команду в определенном контейнере:

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

имени является команда для запуска в контейнере и cid Идентификатор или имя контейнера.

Обратите внимание, что dockerio устарел с версии 2015.8.0, разработка будущих функций будет производиться только в dockerng.

Смежные вопросы