v1.0.0
This commit is contained in:
56
playbooks/playbook_docker_cleanup.yml
Normal file
56
playbooks/playbook_docker_cleanup.yml
Normal file
@@ -0,0 +1,56 @@
|
||||
---
|
||||
# Czyszczenie nieużywanych obrazów Docker — tylko na hostach, na których Docker
|
||||
# jest faktycznie zainstalowany (pozostałe hosty są bezpiecznie pomijane).
|
||||
#
|
||||
# Domyślnie usuwa wyłącznie obrazy "dangling" (bez tagu) — bezpieczne, nie rusza
|
||||
# tagowanych obrazów, nawet jeśli akurat nie są używane przez żaden kontener.
|
||||
#
|
||||
# Aby usunąć WSZYSTKIE nieużywane obrazy (także tagowane, nieużywane przez żaden
|
||||
# kontener) — więcej odzyskanego miejsca, ale bardziej agresywne — uruchom z:
|
||||
# -e "docker_prune_all_images=true"
|
||||
- name: Czyszczenie nieużywanych obrazów Docker
|
||||
hosts: all
|
||||
gather_facts: false
|
||||
vars:
|
||||
docker_prune_all_images: false
|
||||
|
||||
tasks:
|
||||
- name: Sprawdź, czy docker jest zainstalowany
|
||||
ansible.builtin.command: which docker
|
||||
register: docker_check
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
|
||||
- name: Pomiń — Docker nie jest zainstalowany na tym hoście
|
||||
ansible.builtin.debug:
|
||||
msg: "Docker nie jest zainstalowany na {{ inventory_hostname }} — pomijam."
|
||||
when: docker_check.rc != 0
|
||||
|
||||
- name: Zajętość miejsca przez Dockera przed czyszczeniem
|
||||
ansible.builtin.command: docker system df
|
||||
register: docker_df_before
|
||||
changed_when: false
|
||||
when: docker_check.rc == 0
|
||||
|
||||
- name: Usuń nieużywane obrazy Docker (dangling)
|
||||
ansible.builtin.command: docker image prune -f
|
||||
register: prune_result
|
||||
changed_when: "'Total reclaimed space: 0B' not in prune_result.stdout"
|
||||
when:
|
||||
- docker_check.rc == 0
|
||||
- not docker_prune_all_images
|
||||
|
||||
- name: Usuń WSZYSTKIE nieużywane obrazy Docker (także tagowane)
|
||||
ansible.builtin.command: docker image prune -a -f
|
||||
register: prune_result_all
|
||||
changed_when: "'Total reclaimed space: 0B' not in prune_result_all.stdout"
|
||||
when:
|
||||
- docker_check.rc == 0
|
||||
- docker_prune_all_images
|
||||
|
||||
- name: Wynik czyszczenia obrazów
|
||||
ansible.builtin.debug:
|
||||
msg: >-
|
||||
{{ (prune_result_all if docker_prune_all_images else prune_result).stdout_lines
|
||||
| default(['brak danych']) }}
|
||||
when: docker_check.rc == 0
|
||||
Reference in New Issue
Block a user