2016-10-20 2 views
0

실행중인 도커 컨테이너 내부에서 소금 상태의 일부로 셸 명령을 실행할 수있는 방법이 있습니까? 솔트에서 전체 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.run 대신 dockerng.running을 의미합니까? https://docs.saltstack.com/en/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 모듈 :

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

dockerng 모듈이 run 기능을 포함

이름은이고 모듈 이름은 입니다. m_name 명령을 실행할 컨테이너 이름 또는 ID이며 cmd이 명령입니다.

dockerng 모듈에 대한 자세한 내용은 salt.modules.dockerng 설명서를 참조하십시오.

상태 내에서 모듈을 실행하는 방법에 대한 자세한 내용은 salt.states.module을 참조하십시오.

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

이름은 컨테이너와 에서 실행하는 명령은 다음과 같습니다

사용되지 않는 dockerio.run 상태 : (가) dockerio.run 특정 컨테이너의 명령을 실행할 수 있습니다 사용

cid 컨테이너 ID 또는 이름입니다.

dockerio은 2015.8.0 버전부터 사용되지 않으며 이후 기능 개발은 dockerng에서만 수행됩니다.

관련 문제