This repository has been archived on 2026-03-22. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
kube_build/playbooks/install_docker.yml
T
2023-12-11 14:13:02 -05:00

87 lines
2.6 KiB
YAML

- name: Install Docker on Debian, Ubuntu, or Raspbian
hosts: all
become: yes
gather_facts: yes
tasks:
- name: Install Docker dependencies for Debian/Ubuntu/Raspbian
apt:
name:
- apt-transport-https
- ca-certificates
- curl
- gnupg
- lsb-release
state: present
update_cache: yes
when: ansible_os_family == "Debian"
- name: Add Docker GPG key for Debian/Ubuntu/Raspbian
apt_key:
url: https://download.docker.com/linux/ubuntu/gpg
state: present
when: ansible_os_family == "Debian"
- name: Add Docker repository for Debian/Ubuntu
apt_repository:
repo: "deb [arch=amd64] https://download.docker.com/linux/ubuntu {{ ansible_distribution_release }} stable"
state: present
update_cache: yes
when: ansible_os_family == "Debian" and ansible_distribution == "Ubuntu"
- name: Add Docker repository for Raspbian/Debian
apt_repository:
repo: "deb [arch=arm64] https://download.docker.com/linux/debian {{ ansible_distribution_release }} stable"
state: present
update_cache: yes
when: ansible_os_family == "Debian" and ansible_architecture == "aarch64"
- name: Install Docker for Debian/Ubuntu/Raspbian
apt:
name: docker-ce
state: present
update_cache: yes
when: ansible_os_family == "Debian"
- name: Install Docker dependencies for RedHat/CentOS
package:
name:
- yum-utils
- device-mapper-persistent-data
- lvm2
state: present
when: ansible_os_family == "RedHat"
- name: Add Docker repository for RedHat/CentOS
yum_repository:
name: docker-ce-stable
description: Docker CE Stable - $basearch
baseurl: https://download.docker.com/linux/centos/7/$basearch/stable
enabled: yes
gpgcheck: yes
gpgkey: https://download.docker.com/linux/centos/gpg
when: ansible_os_family == "RedHat"
- name: Install Docker for RedHat/CentOS
package:
name: docker-ce
state: present
when: ansible_os_family == "RedHat"
- name: Add authenticated user to Docker group
user:
name: "{{ ansible_user }}"
groups: docker
append: yes
when: ansible_os_family == "Debian" or ansible_os_family == "RedHat"
- name: Ensure Docker service is enabled and started
systemd:
name: docker
enabled: yes
state: started
- name: Reset connection to refresh user group membership
meta: reset_connection