--- # install docker - alpine - name: "install docker - alpine" when: "ansible_os_family == 'Alpine'" block: # install docker - name: "install docker" community.general.apk: name: "{{ item }}" update_cache: true state: "present" retries: 3 with_items: - "docker" - "docker-compose" - "py3-docker-py" # start and enable service - name: "start and enable docker service" ansible.builtin.service: name: "docker" state: "started" enabled: true # install docker - debian - name: "install docker - debian" when: "ansible_os_family == 'Debian'" block: # remove old docker.io packages - name: "remove old docker.io packages" ansible.builtin.apt: name: "{{ item }}" state: "absent" purge: true with_items: - "containerd" - "docker-compose" - "docker-doc" - "docker.io" - "podman-docker" - "runc" # create keyrings directory - name: "create keyrings directory" ansible.builtin.file: path: "/etc/apt/keyrings" state: "directory" mode: "0755" # add docker gpg key - name: "docker gpg key" ansible.builtin.get_url: url: "https://download.docker.com/linux/{{ ansible_distribution | lower }}/gpg" dest: "/etc/apt/keyrings/docker.asc" mode: "0644" # add docker repository - name: "docker repository" ansible.builtin.apt_repository: repo: "deb [arch={{ ansible_architecture | replace('x86_64', 'amd64') }} \ signed-by=/etc/apt/keyrings/docker.asc] \ https://download.docker.com/linux/{{ ansible_distribution | lower }} \ {{ ansible_distribution_release }} stable" state: "present" filename: "docker" # install docker - name: "install docker" ansible.builtin.apt: name: "{{ item }}" state: "present" update_cache: true with_items: - "containerd.io" - "docker-ce" - "docker-ce-cli" - "docker-compose-plugin" - "python3-pip" - "python3-docker" # nfs client - name: "install nfs-common" ansible.builtin.apt: name: "nfs-common" state: "present"