From 97ff4b40e34d3741ff936435a5425936600a75a1 Mon Sep 17 00:00:00 2001 From: Pablo Martin Date: Tue, 1 Jul 2025 16:50:58 +0200 Subject: [PATCH] docker playbook --- ansible/services/docker_playbook.yml | 70 ++++++++++++++++++---------- 1 file changed, 45 insertions(+), 25 deletions(-) diff --git a/ansible/services/docker_playbook.yml b/ansible/services/docker_playbook.yml index 3474a65..8e8e430 100644 --- a/ansible/services/docker_playbook.yml +++ b/ansible/services/docker_playbook.yml @@ -1,34 +1,60 @@ - name: Install Docker and Docker Compose on Debian 12 hosts: all - become: yes + become: yes tasks: - - name: Ensure required packages are installed + - name: Remove old Docker-related packages + apt: + name: + - docker.io + - docker-doc + - docker-compose + - podman-docker + - containerd + - runc + state: absent + purge: yes + autoremove: yes + + - name: Update apt cache + apt: + update_cache: yes + + - name: Install prerequisites apt: name: - ca-certificates - curl - - gnupg - - lsb-release + state: present + + - name: Create directory for Docker GPG key + file: + path: /etc/apt/keyrings + state: directory + mode: '0755' + + - name: Download Docker GPG key + get_url: + url: https://download.docker.com/linux/debian/gpg + dest: /etc/apt/keyrings/docker.asc + mode: '0644' + + - name: Get Debian architecture + command: dpkg --print-architecture + register: deb_arch + + - name: Add Docker repository + apt_repository: + repo: "deb [arch={{ deb_arch.stdout }} signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian {{ ansible_lsb.codename }} stable" + filename: docker state: present update_cache: yes - - name: Add Docker GPG key - ansible.builtin.apt_key: - url: https://download.docker.com/linux/debian/gpg - state: present - - - name: Add Docker repository - ansible.builtin.apt_repository: - repo: "deb [arch=amd64] https://download.docker.com/linux/debian {{ ansible_distribution_release }} stable" - state: present - filename: docker - - - name: Update apt cache after adding Docker repo + - name: Update apt cache apt: update_cache: yes - - name: Install Docker Engine and CLI + - name: Install Docker packages apt: name: - docker-ce @@ -36,7 +62,8 @@ - containerd.io - docker-buildx-plugin - docker-compose-plugin - state: latest + state: present + update_cache: yes - name: Ensure Docker is started and enabled systemd: @@ -50,10 +77,3 @@ groups: docker append: yes - - name: Create symlink for docker-compose (optional CLI alias) - file: - src: /usr/libexec/docker/cli-plugins/docker-compose - dest: /usr/local/bin/docker-compose - state: link - when: ansible_facts['os_family'] == "Debian" - ignore_errors: true # In case the plugin path differs slightly