75 lines
No EOL
2.6 KiB
YAML
75 lines
No EOL
2.6 KiB
YAML
# From the official Docker installation guide for Debian:
|
|
# https://docs.docker.com/engine/install/debian/
|
|
|
|
# Uninstall old Docker versions
|
|
# $ sudo apt-get remove docker docker-engine docker.io containerd runc
|
|
- name: "Remove old Docker versions"
|
|
ansible.builtin.apt:
|
|
state: absent
|
|
name:
|
|
- docker
|
|
- docker-engine
|
|
- docker.io
|
|
- containerd
|
|
- runc
|
|
|
|
# Install dependencies
|
|
# > apt-transport-https ca-certificates curl gnupg lsb-release
|
|
- name: "Install Docker dependencies"
|
|
ansible.builtin.apt:
|
|
state: present
|
|
name:
|
|
- apt-transport-https
|
|
- ca-certificates
|
|
# - curl # Already installed in main.yml
|
|
- gnupg
|
|
- lsb-release
|
|
|
|
# Dowload Docker's official GPG key
|
|
# $ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
|
|
- name: "Add Docker's official GPG key to apt"
|
|
ansible.builtin.apt_key:
|
|
id: 9DC858229FC7DD38854AE2D88D81803C0EBFCD88
|
|
url: https://download.docker.com/linux/debian/gpg
|
|
# Key destination path
|
|
keyring: /usr/share/keyrings/docker-archive-keyring.gpg
|
|
state: present
|
|
|
|
|
|
# Add Docker's repository to apt
|
|
# $ echo \
|
|
# "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \
|
|
# $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
|
- name: "Add Docker's repository to APT sources list"
|
|
ansible.builtin.apt_repository:
|
|
repo: "deb [arch={{ architecture_map[ansible_architecture] }} signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian {{ ansible_distribution_release }} stable"
|
|
state: present
|
|
vars:
|
|
architecture_map:
|
|
"x86_64": "amd64"
|
|
"aarch64": "arm64"
|
|
"aarch": "arm64"
|
|
"armhf": "armhf"
|
|
"armv7l": "armhf"
|
|
|
|
# Install Docker engine
|
|
# $ sudo apt-get update
|
|
# $ sudo apt-get install docker-ce docker-ce-cli containerd.io
|
|
- name: "Install Docker engine"
|
|
ansible.builtin.apt:
|
|
state: present
|
|
update_cache: yes
|
|
name:
|
|
- docker-ce
|
|
- docker-ce-cli
|
|
- containerd.io
|
|
|
|
# Install docker-compose
|
|
# $ sudo curl -L "https://github.com/docker/compose/releases/download/1.28.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
|
|
- name: "Install Docker Compose"
|
|
ansible.builtin.get_url:
|
|
url: "https://github.com/docker/compose/releases/download/{{ compose_version }}/docker-compose-{{ ansible_system }}-{{ ansible_architecture }}"
|
|
dest: /usr/local/bin/docker-compose
|
|
mode: "0755"
|
|
vars:
|
|
compose_version: 1.28.5 |