mirror of
https://github.com/jpetazzo/container.training.git
synced 2026-02-14 09:39:56 +00:00
- Update Docker installation task from the [official docs](https://docs.docker.com/engine/install/ubuntu/)
120 lines
3.1 KiB
YAML
120 lines
3.1 KiB
YAML
---
|
|
- hosts: nodes
|
|
become: yes
|
|
vars_files:
|
|
- vagrant.yml
|
|
|
|
tasks:
|
|
- name: clean up the home folder
|
|
file:
|
|
path: /home/vagrant/{{ item }}
|
|
state: absent
|
|
with_items:
|
|
- base.sh
|
|
- chef.sh
|
|
- cleanup.sh
|
|
- cleanup-virtualbox.sh
|
|
- puppetlabs-release-wheezy.deb
|
|
- puppet.sh
|
|
- ruby.sh
|
|
- vagrant.sh
|
|
- virtualbox.sh
|
|
- zerodisk.sh
|
|
|
|
- name: installing dependencies
|
|
apt:
|
|
name: apt-transport-https,ca-certificates,python3-pip,tmux
|
|
state: present
|
|
update_cache: true
|
|
|
|
- name: fetching docker repo key
|
|
apt_key:
|
|
url: https://download.docker.com/linux/ubuntu/gpg
|
|
state: present
|
|
|
|
- name: adding docker repo
|
|
apt_repository:
|
|
repo: deb https://download.docker.com/linux/ubuntu focal stable
|
|
state: present
|
|
|
|
- name: installing docker
|
|
apt:
|
|
name: docker-ce,docker-ce-cli,containerd.io,docker-compose-plugin
|
|
state: present
|
|
update_cache: true
|
|
|
|
- name: adding user vagrant to group docker
|
|
user:
|
|
name: vagrant
|
|
groups: docker
|
|
append: yes
|
|
|
|
- name: making docker daemon listen to port 55555
|
|
lineinfile:
|
|
dest: /etc/default/docker
|
|
line: DOCKER_OPTS="--host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:55555"
|
|
regexp: "^#?DOCKER_OPTS=.*$"
|
|
state: present
|
|
register: docker_opts
|
|
|
|
- name: restarting docker daemon, if needed
|
|
service:
|
|
name: docker
|
|
state: restarted
|
|
when: docker_opts is defined and docker_opts.changed
|
|
|
|
- name: install docker-compose from official github repo
|
|
get_url:
|
|
url: https://github.com/docker/compose/releases/download/1.29.2/docker-compose-Linux-x86_64
|
|
dest: /usr/local/bin/docker-compose
|
|
mode: "u+x,g+x"
|
|
|
|
- name:
|
|
file: path="/usr/local/bin/docker-compose"
|
|
state=file
|
|
mode=0755
|
|
owner=vagrant
|
|
group=docker
|
|
|
|
- name: building the /etc/hosts file with all nodes
|
|
lineinfile:
|
|
dest: /etc/hosts
|
|
line: "{{ item.private_ip }} {{ item.hostname }}"
|
|
regexp: "^{{ item.private_ip }} {{ item.hostname }}$"
|
|
state: present
|
|
with_items: "{{ instances }}"
|
|
|
|
- name: copying the ssh key to the nodes
|
|
copy:
|
|
src: private-key
|
|
dest: /home/vagrant/private-key
|
|
mode: 0600
|
|
group: root
|
|
owner: vagrant
|
|
|
|
- name: copying ssh configuration
|
|
copy:
|
|
src: ssh-config
|
|
dest: /home/vagrant/.ssh/config
|
|
mode: 0600
|
|
group: root
|
|
owner: vagrant
|
|
|
|
- name: fixing the hostname
|
|
hostname:
|
|
name: "{{ inventory_hostname }}"
|
|
|
|
- name: adjusting the /etc/hosts to the new hostname
|
|
lineinfile:
|
|
dest: /etc/hosts
|
|
regexp: "{{ item.regexp }}"
|
|
line: "{{ item.line }}"
|
|
owner: root
|
|
group: root
|
|
mode: 0644
|
|
with_items:
|
|
- regexp: '^127\.0\.0\.1'
|
|
line: "127.0.0.1 localhost {{ inventory_hostname }}"
|
|
- regexp: '^127\.0\.1\.1'
|
|
line: "127.0.1.1 {{ inventory_hostname }}"
|