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

71 lines
1.5 KiB
YAML

---
- name: remove conflicting packages
become: true
ansible.builtin.apt:
state: absent
name:
- docker.io
- docker-doc
- docker-compose
- podman-docker
- containerd
- runc
- name: install prerequisites
become: true
ansible.builtin.apt:
state: present
name:
- ca-certificates
- curl
- gnupg
- name: ensure apt keyring directory exists
become: true
ansible.builtin.file:
state: directory
path: /etc/apt/keyrings
mode: '0755'
owner: root
group: root
- name: download docker gpg key
become: true
ansible.builtin.get_url:
url: https://download.docker.com/linux/debian/gpg
dest: /etc/apt/keyrings/docker.asc
mode: '0644'
owner: root
group: root
- name: determine architecture
changed_when: false
register: docker_arch
ansible.builtin.command:
cmd: dpkg --print-architecture
- name: add docker repo
become: true
ansible.builtin.apt_repository:
state: present
filename: docker
update_cache: true
repo: |
Types: deb
URIs: https://download.docker.com/linux/debian
Suites: {{ ansible_distribution_release }}
Components: stable
Signed-By: /etc/apt/keyrings/docker.asc
- name: install docker + compose plugin and dependencies
become: true
notify: docker_run_test
ansible.builtin.package:
state: present
name:
- docker-ce
- docker-ce-cli
- containerd.io
- docker-buildx-plugin
- docker-compose-plugin