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

64 lines
1.3 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
- name: Update APT cache
apt:
update_cache: yes
- name: Install dependencies
apt:
name:
- ca-certificates
- curl
- gnupg
state: present
- name: Create directory for GPG keys
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: Add Docker repository
shell: |
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] \
https://download.docker.com/linux/debian $(lsb_release -cs) stable" \
| tee /etc/apt/sources.list.d/docker.list > /dev/null
- name: Update APT cache after adding Docker repository
apt:
update_cache: yes
- name: Install Docker and required packages
apt:
name:
- docker-ce
- docker-ce-cli
- containerd.io
- docker-buildx-plugin
- docker-compose-plugin
state: present
- name: Enable and start Docker service
systemd:
name: docker
enabled: yes
state: started