[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 |