38 lines
1.1 KiB
YAML
38 lines
1.1 KiB
YAML
---
|
|
- name: Alle Docker-Container auf Host aktualisieren
|
|
hosts: docker_hosts
|
|
become: true
|
|
vars:
|
|
docker_host: unix://var/run/docker.sock
|
|
|
|
collections:
|
|
- community.docker
|
|
|
|
tasks:
|
|
- name: Alle Container (inkl. gestoppte) auflisten
|
|
community.docker.docker_host_info:
|
|
containers: true
|
|
register: docker_info
|
|
|
|
- name: Images-Liste aus Containern extrahieren
|
|
set_fact:
|
|
container_images: >-
|
|
{{ docker_info.containers
|
|
| map(attribute='Image')
|
|
| list
|
|
| unique }}
|
|
|
|
- name: Neueste Images ziehen
|
|
community.docker.docker_image:
|
|
name: "{{ item }}"
|
|
source: pull
|
|
loop: "{{ container_images }}"
|
|
register: pulled_images
|
|
|
|
- name: Container neu erstellen, wenn Image aktualisiert wurde
|
|
community.docker.docker_container:
|
|
name: "{{ item.Names[0] | regex_replace('^/', '') }}"
|
|
image: "{{ item.Image }}"
|
|
state: started
|
|
recreate: true
|
|
loop: "{{ docker_info.containers }}" |