63 lines
1.6 KiB
YAML
63 lines
1.6 KiB
YAML
---
|
|
- name: Install Docker
|
|
# 'all' is okay here, because the fail task will force the user to specify a limit on the command line, using -l or --limit
|
|
hosts: all
|
|
tasks:
|
|
- name: checking limit arg
|
|
fail:
|
|
msg: "you must use -l or --limit - when you really want to use all hosts, use -l 'all'"
|
|
when: ansible_limit is not defined
|
|
run_once: true
|
|
|
|
- name: Install required system packages
|
|
become: true
|
|
apt:
|
|
pkg:
|
|
- ca-certificates
|
|
- curl
|
|
- gnupg
|
|
- lsb-release
|
|
- python3-pip
|
|
state: latest
|
|
update_cache: yes
|
|
|
|
- name: Add Docker GPG Key
|
|
become: true
|
|
apt_key:
|
|
url: https://download.docker.com/linux/ubuntu/gpg
|
|
# id: 9DC858229FC7DD38854AE2D88D81803C0EBFCD88
|
|
state: present
|
|
|
|
- name: Add Docker Repository
|
|
become: true
|
|
apt_repository:
|
|
repo: "deb [arch={{ arch }}] https://download.docker.com/linux/{{ansible_distribution|lower}} {{ansible_distribution_release}} stable"
|
|
state: present
|
|
|
|
- name: Install Docker packages
|
|
become: true
|
|
apt:
|
|
update_cache: yes
|
|
pkg:
|
|
- docker-ce
|
|
- docker-ce-cli
|
|
- containerd.io
|
|
|
|
- name: Install docker-compose using pip
|
|
pip:
|
|
name:
|
|
- docker-compose
|
|
|
|
- name: add user to docker group
|
|
become: true
|
|
user:
|
|
name: "{{ ansible_user_id }}"
|
|
groups:
|
|
- docker
|
|
append: yes
|
|
|
|
- name: Create docker folder
|
|
file:
|
|
path: "{{ansible_user_dir}}/docker"
|
|
state: directory
|