Reference
Create a structure below
. ├── files ├── README.md ├── vars │ └── nodes.yml └── webserver-docker.yml
Environment variable files vars/nodes.yml
--- docker_compose_version: "1.23.2" ctop_version: "0.7.3"
Playbook webserver-docker.yml
--- # Bootstreap Docker nodes - hosts: webservers become: yes vars_files: - vars/nodes.yml tasks: - name: Install misc tools yum: name: "{{ item }}" state: latest loop: - net-tools - vim - telnet - name: Install docker prequisites yum: name: "{{ item }}" state: latest loop: - yum-utils - device-mapper-persistent-data - lvm2 - name: Configure docker-ce repo get_url: url: https://download.docker.com/linux/centos/docker-ce.repo dest: /etc/yum.repos.d/docker-ce.repo mode: 0644 - name: Install Docker latest version yum: name: docker-ce state: present - name: Start and enable Docker service service: name: docker state: started enabled: yes - name: Check if Docker Compose is installed command: docker-compose --version register: docker_compose_check ignore_errors: yes - name: Download and install Docker Compose get_url: url: https://github.com/docker/compose/releases/download/{{ docker_compose_version }}/docker-compose-{{ ansible_system }}-{{ ansible_userspace_architecture }} dest: /usr/bin/docker-compose mode: 0755 when: - docker_compose_check.msg is defined - docker_compose_check.msg.find('No such file or directory') != -1 - name: Check if ctop is installed command: ctop -v register: ctop_check ignore_errors: yes - name: Download and install ctop get_url: url: https://github.com/bcicen/ctop/releases/download/v{{ ctop_version }}/ctop-{{ ctop_version }}-linux-amd64 dest: /usr/bin/ctop mode: 0755 when: - ctop_check.msg is defined - ctop_check.msg.find('No such file or directory') != -1 - name: Create folder for Docker Compose files file: path: "/opt/docker" state: directory owner: "ansible" mode: 0755 handlers: - name: reload systemd systemd: daemon_reload: yes - name: reload firewalld service: name: firewalld state: reloaded