Dateien nach "playbooks" hochladen
This commit is contained in:
38
playbooks/update-all-containers.yaml
Normal file
38
playbooks/update-all-containers.yaml
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
---
|
||||||
|
- 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 }}"
|
||||||
Reference in New Issue
Block a user