--- - name: Include vars for {{ ansible_os_family }} include_vars: "{{ ansible_os_family }}_{{ docker_ver }}.yml" - name: See if docker is installed stat: path=/usr/bin/docker register: docker_installed - name: Install docker rules for {{ ansible_os_family }} OS family include_tasks: "{{ ansible_os_family }}.yml" - name: Remove all other's docker version packages package: name: "{{ docker_remove_packages_name }}" state: absent update_cache: yes - name: Install docker package: name: "{{ docker_package_name }}" state: present update_cache: yes # when: # - not docker_installed.stat.exists notify: Restart docker - name: Enable docker on boot service: name: docker state: started enabled: yes # Create docker group if needed # Add normal user to docker group # Configuration dans /etc/docker/daemon.json - name: Config_docker | Ensuring /etc/docker Folder Exists file: path: "/etc/docker" state: "directory" group: root owner: root mode: 0700 #- name: Config_docker | Configuring Docker # template: # src: "etc/docker/daemon.json.j2" # dest: "/etc/docker/daemon.json" # group: root # owner: root # mode: 0644 # notify: Restart docker #- port TCP 2376: permet au client local de communiquer de façon sécurisée avec le daemon tournant sur une machine du swarm # #- port TCP 2377: permet la communication entre les managers du swarm (port seulement ouvert sur les managers) # #- port UDP 4789: permet la communication entre les containers sur un réseau overlay # #- port TCP et UDP 7946: permet la communication entre les machines du swarm # #- interfaces docker0 and docker_gwbridge ? firewall-cmd --change-zone=docker0 --zone=trusted --permanent; firewall-cmd --change-zone=docker_gwbridge --zone=trusted --permanent - name: Install python library for docker package: name: "{{ docker_python_lib }}" state: present update_cache: yes #- name: Enable swarm mode # include_tasks: swarm.yml # when: # - docker_swarmmode