- name: create directories for docker image build file: path: "/container/docker-images/{{slurm_image_prefix}}-{{image_name}}/{{item}}" state: directory owner: "{{unpriv_user}}" group: docker loop: "{{ [''] + (files | map(attribute='dest') | map('dirname') | unique | select | list) }}" - name: "copy Dockerfile {{slurm_image_prefix}}:{{image_name}}" copy: content: "{{dockerfile}}" dest: "/container/docker-images/{{slurm_image_prefix}}-{{image_name}}/Dockerfile" owner: "{{unpriv_user}}" group: docker register: slurm_cp_dockerfile - name: copy requisite files copy: content: "{{ item.content }}" dest: "/container/docker-images/{{slurm_image_prefix}}-{{image_name}}/{{item.dest}}" owner: root group: root mode: u=rwx,g=rx,o=rx loop: "{{ files | default([]) }}" loop_control: label: "{{ item.dest }}" register: slurm_cp_files - name: "build docker image {{slurm_image_prefix}}:{{image_name}}" docker_image: name: "{{slurm_image_prefix}}" tag: "{{image_name}}" # pull: False build: pull: False path: "/container/docker-images/{{slurm_image_prefix}}-{{image_name}}/" source: build force_source: "{{slurm_cp_dockerfile.changed or slurm_cp_files.changed or slurm_baseimg_build_chg | default(False) }}"