[Ansible] 도커 컨테이너 ID 가져오기

도커 컨테이너의 ID로 여러가지 작업을 하기 위해 Ansible에서 도커 컨테이너의 ID를 가져오는 작업을 진행해봅니다.

 

Playbook 생성

web-server이름의 도커 컨테이너 ID를 가져오는 Playbook을 작성해봅니다.

- name: Regist web-server docker container id
  shell: docker ps -q -f "name=web-server"
  register: web_server_container_id

도커 컨테이너 ID는 web_server_container_id 이름으로 등록하였습니다.


테스트를 위해 web_server_container_id 의 전체 결과 값을 출력해보는 로직도 추가해봤습니다.

- name: Logging web_server_container_id
  debug:
    msg: "{{ web_server_container_id }}"

 

 

Playbook 실행

작성한 yml 파일을 실행하여 로그를 확인해봅니다.

ansible-playbook -i {{Inventory}} test_work.yml

TASK [test_work : Regist web-server docker container id] ***************************************************************************************************************************************************************************************
changed: [node0]

TASK [test_work : Logging web_server_container_id] *****************************************************************************************************************************************************************************************************
ok: [node0] => {
    "msg": {
        "changed": true,
        "cmd": "docker ps -q -f \"name=web-server\",
        "delta": "0:00:00.025528",
        "end": "2023-02-20 10:57:08.057040",
        "failed": false,
        "msg": "",
        "rc": 0,
        "start": "2023-02-20 10:57:08.031512",
        "stderr": "",
        "stderr_lines": [],
        "stdout": "c7326be211bf",
        "stdout_lines": [
            "c7326be211bf"
        ]
    }
}

전체 결과 값을 확인할 수 있으며 stdout 값에 도커 컨테이너 ID를 정상적으로 가져왔음을 확인할 수 있습니다.

 

실제 yml 파일에서 해당 값을 사용하려면 아래와 같이 .stdout를 추가하여 해당 값만 가져와 사용할 수 있습니다.

- name: Using web_server_container_id
  debug:
    msg: "{{ web_server_container_id.stdout }}"

 

위 방법으로 도커 컨테이너 ID를 Ansible에서 불러와 사용할 수 있습니다.

'Infrastructure As Code > Ansible' 카테고리의 다른 글

[Ansible] Yum 패키지 관리  (0) 2023.05.19
[Ansible] 시스템 OS 재시작 하기  (0) 2023.03.10

+ Recent posts