sudo apt-get install software-properties-common
sudo apt-add-repository ppa:ansible/ansible
sudo apt-get install -y ansible
mkdir ./ansible
touch ./ansible/inventory
touch ./ansible/main.yaml
touch ./ansible/vars.yaml
[beta]
beta.thematrix.dev
[production]
www.thematrix.dev
./ansible/inventoryuser: ubuntu
requried_packages:
- ca-certificates
- curl
- gnupg
- lsb-release
docker_engines:
- docker-ce
- docker-ce-cli
- containerd.io
- docker-compose-plugin
./ansible/vars.yaml---
- hosts: beta
become: yes
vars_files:
- vars.yaml
tasks:
- name: Install Docker prerequisite
apt:
name: "{{ item }}"
state: latest
update_cache: true
loop: "{{ requried_packages }}"
- name: Add Docker's official GPG key
apt_key:
url: https://download.docker.com/linux/ubuntu/gpg
state: present
- name: Add Docker repository
apt_repository:
repo: deb https://download.docker.com/linux/ubuntu {{ ansible_distribution_release }} stable
state: present
- name: Install Docker
apt:
name: "{{ item }}"
state: latest
update_cache: true
loop: "{{ docker_engines }}"
- name: Add user to Docker group
user:
name: "{{ user }}"
group: docker
./ansible/main.yamlansible-playbook -i inventory main.yaml
PLAY [beta] ************************************************************************************************************************
TASK [Gathering Facts] *************************************************************************************************************
ok: [beta.thematrix.dev]
TASK [Install Docker prerequisite] *************************************************************************************************
ok: [beta.thematrix.dev] => (item=ca-certificates)
ok: [beta.thematrix.dev] => (item=curl)
ok: [beta.thematrix.dev] => (item=gnupg)
ok: [beta.thematrix.dev] => (item=lsb-release)
TASK [Add Docker's official GPG key] ***********************************************************************************************
ok: [beta.thematrix.dev]
TASK [Add Docker repository] *******************************************************************************************************
ok: [beta.thematrix.dev]
TASK [Install Docker] **************************************************************************************************************
ok: [beta.thematrix.dev] => (item=docker-ce)
ok: [beta.thematrix.dev] => (item=docker-ce-cli)
ok: [beta.thematrix.dev] => (item=containerd.io)
ok: [beta.thematrix.dev] => (item=docker-compose-plugin)
TASK [Add user to Docker group] ****************************************************************************************************
changed: [beta.thematrix.dev]
PLAY RECAP *************************************************************************************************************************
beta.thematrix.dev : ok=6 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0