docker-fobi/ansible/roles/install_docker/tasks/main.yml
2025-10-29 16:22:47 +01:00

71 lines
1.9 KiB
YAML

# ---
# tasks file for install_docker
- name: Check if Docker is installed
become: yes
command: docker -v
register: docker_installed
ignore_errors: true
- name: Ensure no conflicting Docker packages are installed
become: yes
ansible.builtin.apt:
name:
- docker.io
- docker-doc
- docker-compose
- podman-docker
- containerd
- runc
state: absent
purge: yes
- name: Install Docker
become: yes
block:
- name: Add Docker's official GPG key
block:
- name: Install necessary packages
become: yes
ansible.builtin.apt:
name:
- ca-certificates
- curl
- gnupg
state: latest
update_cache: yes
- name: Add GPG key
ansible.builtin.shell:
cmd: |
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
- name: Add the repository to Apt sources
block:
- name: Add repos
ansible.builtin.shell:
cmd: |
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
- name: Install Docker packages
become: yes
ansible.builtin.apt:
name:
- docker-ce
- docker-ce-cli
- containerd.io
- docker-buildx-plugin
- docker-compose-plugin
state: latest
update_cache: yes
when: docker_installed.failed
- name: Install some additional tools
become: yes
ansible.builtin.apt:
name:
- vim
- tmux
state: latest