ansible-playbooks/docker/roles/docker-common/tasks/main.yml

71 lines
1.4 KiB
YAML

---
- name: Remove old Docker packages if they exist
apt:
name: "{{ item }}"
state: absent
purge: yes
loop:
- docker.io
- docker-doc
- docker-compose
- podman-docker
- containerd
- runc
become: yes
- name: Update apt cache
apt:
update_cache: yes
become: yes
- name: Install required packages
apt:
name:
- ca-certificates
- curl
state: present
become: yes
- name: Create directory for Docker keyring
file:
path: /etc/apt/keyrings
state: directory
mode: '0755'
become: yes
- name: Download Docker GPG key
get_url:
url: https://download.docker.com/linux/debian/gpg
dest: /etc/apt/keyrings/docker.asc
mode: '0644'
become: yes
- name: Add Docker repository
apt_repository:
repo: "deb [arch={{ ansible_architecture }} signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian {{ ansible_distribution_release }} stable"
state: present
filename: docker.list
become: yes
- name: Update apt cache after adding Docker repository
apt:
update_cache: yes
become: yes
- name: Install Docker packages
apt:
name:
- docker-ce
- docker-ce-cli
- containerd.io
- docker-buildx-plugin
- docker-compose-plugin
state: present
become: yes
- name: Ensure Docker service is running and enabled
service:
name: docker
state: started
enabled: yes
become: yes