Files
OCI_Build/playbooks/docker_status.yml
T
2024-12-09 16:33:22 +00:00

29 lines
1.0 KiB
YAML

---
- name: Check and Report Status of Docker Containers
hosts: Docker
gather_facts: true
vars:
exited_containers: []
tasks:
- name: Check container status
ansible.builtin.shell: |
docker ps -a --format "{{ '{{' }}.Names{{ '}}' }}\t{{ '{{' }}.Status{{ '}}' }}\t{{ '{{' }}.Ports{{ '}}' }}"
register: container_status
- name: Collect exited containers
set_fact:
exited_containers: "{{ exited_containers + [item.split('\t')[0]] }}"
loop: "{{ container_status.stdout_lines }}"
when: "'Exited' in item.split('\t')[1]"
- name: Display container status for each host
ansible.builtin.debug:
msg: "Container: {{ item.split('\t')[0] }}, Status: {{ item.split('\t')[1] }}, Ports: {{ item.split('\t')[2] or 'None' }}"
loop: "{{ container_status.stdout_lines }}"
- name: Fail with summary of exited containers
ansible.builtin.fail:
msg: "Exited containers found: {{ exited_containers | join(', ') }}"
when: exited_containers | length > 0