This commit is contained in:
2026-07-12 08:44:40 +02:00
commit 55991dcb4e
21 changed files with 610 additions and 0 deletions

View 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