docker.role/tasks/main.yml
2024-09-17 00:46:28 +02:00

77 lines
1.7 KiB
YAML

---
# tasks file for docker
- name: Uprage all packages.
ansible.builtin.apt:
name: '*'
state: latest
only_upgrade: true
- name: Remove unofficial packages.
ansible.builtin.apt:
name:
- docker.io
- docker-compose
- docker-doc
- podman-docker
- containerd
- runc
state: absent
- name: Make sure required packages are installed.
ansible.builtin.apt:
name:
- apt-transport-https
- ca-certificates
- curl
state: present
- name: Add docker apt signing key.
ansible.builtin.get_url:
url: https://download.docker.com/linux/debian/gpg
dest: /etc/apt/trusted.gpg.d/docker.asc
mode: '0644'
- name: Add docker repository.
ansible.builtin.apt_repository:
repo: "{{ docker_apt_repository }}"
state: present
filename: docker
update_cache: true
- name: Install docker packages.
ansible.builtin.apt:
name:
- docker-ce
- docker-ce-cli
- containerd.io
- docker-buildx-plugin
- docker-compose-plugin
state: present
notify: Restart docker
- name: Ensure /etc/docker/ directory exists.
ansible.builtin.file:
path: /etc/docker
state: directory
mode: '0755'
- name: Ensure /opt/docker directory exists.
ansible.builtin.file:
path: /opt/docker
state: directory
mode: '0755'
- name: Configure Docker daemon options.
ansible.builtin.copy:
content: "{{ docker_daemon_options | to_nice_json }}"
dest: /etc/docker/daemon.json
mode: '0644'
when: docker_daemon_options.keys() | length > 0
notify: Restart docker
- name: Ensure Docker is started and enabled at boot.
ansible.builtin.systemd_service:
name: docker
state: started
enabled: true
daemon_reload: true