diff --git a/roles/container/tasks/image.yml b/roles/container/tasks/image.yml index 0a08053..07a8a74 100644 --- a/roles/container/tasks/image.yml +++ b/roles/container/tasks/image.yml @@ -29,13 +29,27 @@ - name: Set container_image variable set_fact: - container_image: "{{ item }}" + container_image: "{{ item.image }}" when: item.skipped is not defined or not item.skipped loop: - "{{ built_image }}" - "{{ pulled_image }}" +- name: Check mode image info + when: ansible_check_mode + block: + - name: Get docker image info for check mode + docker_image_info: + name: "{{ ('local_' + docker_service) if dockerfile is defined and dockerfile | length > 0 else docker_image }}" + register: existing_image + + - name: Set check nmode container_image variable + set_fact: + container_image: "{{ existing_image.images[0] }}" + - name: Set image user variable set_fact: - image_user: "{{ container_image.image.Config.User }}" - when: container_image.image.Config.User | length > 0 + image_user: "{{ container_image.Config.User }}" + when: + - not ansible_check_mode + - container_image.Config.User | length > 0 diff --git a/roles/container/tasks/main.yml b/roles/container/tasks/main.yml index 620d4dd..942b4c8 100644 --- a/roles/container/tasks/main.yml +++ b/roles/container/tasks/main.yml @@ -61,7 +61,7 @@ - name: "Container for {{ docker_service_name }}" docker_container: name: "{{ docker_service_name }}" - image: "{{ container_image.image.Id }}" + image: "{{ container_image.Id }}" user: "{{ docker_user if docker_host_user else omit }}" mounts: "{{ docker_volume_definition }}" published_ports: "{{ container_published_ports + docker_published_ports }}"