From 5a9c982f699f3b86af29e3d98551d067cbaf92a1 Mon Sep 17 00:00:00 2001 From: uumas Date: Fri, 3 Feb 2023 05:04:30 +0200 Subject: [PATCH] container: always pull image in a separate task before container creation --- roles/container/tasks/image.yml | 23 ++++++++++++++++++++++- roles/container/tasks/main.yml | 2 +- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/roles/container/tasks/image.yml b/roles/container/tasks/image.yml index 263a1ac..0a08053 100644 --- a/roles/container/tasks/image.yml +++ b/roles/container/tasks/image.yml @@ -17,4 +17,25 @@ build: pull: true path: "/opt/{{ docker_service }}" - register: docker_built_image + register: built_image + +- name: Pull container image for {{ docker_service }} + docker_image: + name: "{{ docker_image }}" + source: pull + force_source: true + register: pulled_image + when: dockerfile is not defined or dockerfile | length == 0 + +- name: Set container_image variable + set_fact: + container_image: "{{ item }}" + when: item.skipped is not defined or not item.skipped + loop: + - "{{ built_image }}" + - "{{ pulled_image }}" + +- name: Set image user variable + set_fact: + image_user: "{{ container_image.image.Config.User }}" + when: container_image.image.Config.User | length > 0 diff --git a/roles/container/tasks/main.yml b/roles/container/tasks/main.yml index 271bc2c..9158f12 100644 --- a/roles/container/tasks/main.yml +++ b/roles/container/tasks/main.yml @@ -54,7 +54,7 @@ - name: "Container for {{ docker_service_name }}" docker_container: name: "{{ docker_service_name }}" - image: "{{ docker_built_image.image.Id if dockerfile is defined and not ansible_check_mode else docker_image }}" + image: "{{ container_image.image.Id }}" user: "{{ docker_user | default(omit) }}" pull: "{{ dockerfile is not defined }}" volumes: "{{ docker_volume_definition }}"