66 lines
1.6 KiB
YAML

---
- name: Ensure all previously installed docker packages are uninstalled
apt:
name:
- docker.io
- docker-compose
- docker-compose-v2
- docker-doc
- podman-docker
state: absent
purge: true
- name: Install dependencies
apt:
name:
- ca-certificates
- curl
state: present
- name: Add Docker's official GPG key
shell: |
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
args:
creates: /etc/apt/keyrings/docker.gpg
- name: Add Docker repository
become: true
apt_repository:
repo: "deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu {{ ansible_distribution_release }} stable"
state: present
update_cache: true
- name: Read docker sources list
slurp:
src: /etc/apt/sources.list.d/download_docker_com_linux_ubuntu.list
register: docker_sources_list
- name: Display docker sources list
debug:
var: docker_sources_list.content | b64decode
- name: Install Docker and related components
become: true
apt:
name:
- docker-ce
- docker-ce-cli
- containerd.io
- docker-buildx-plugin
- docker-compose-plugin
state: present
- name: Add user to the docker group
user:
name: "{{ ansible_user }}"
groups: docker
append: true
when: ansible_user != "root"
- name: Start and enable Docker service
service:
name: docker
state: started
enabled: true