86 lines
2.1 KiB
YAML
86 lines
2.1 KiB
YAML
---
|
|
- name: Docker | Check if ansible version >= 2.4
|
|
assert:
|
|
that: "ansible_version.full is version_compare(2.4, '>=')"
|
|
msg: "Ansible 2.4 or superior version is required."
|
|
tags:
|
|
- docker
|
|
- docker_asserts
|
|
- docker_install
|
|
- docker_users
|
|
- docker_networks
|
|
- docker_containers
|
|
|
|
- include_tasks: install.yml
|
|
tags:
|
|
- docker
|
|
- docker_install
|
|
|
|
- name: Docker | Ensure docker users are added to the docker group
|
|
user:
|
|
name: "{{ item }}"
|
|
groups: docker
|
|
append: true
|
|
with_items: "{{ docker_users|default([]) }}"
|
|
when: docker_users
|
|
tags:
|
|
- docker
|
|
- docker_users
|
|
|
|
- include_tasks: swarm.yml
|
|
when: docker_swarm_enable
|
|
tags:
|
|
- docker
|
|
- docker_swarm
|
|
- docker_swarm_init
|
|
|
|
- name: Assign default labels to swarm nodes
|
|
docker_node:
|
|
debug: '{{ docker_node.debug|default(omit) }}'
|
|
hostname: '{{ docker_node.hostname|default(inventory_hostname) }}'
|
|
labels: '{{ docker_node.labels|default(omit) }}'
|
|
role: '{{ docker_node.role|default(omit) }}'
|
|
availability: '{{ docker_node.availability|default(omit) }}'
|
|
labels_state: '{{ docker_node.labels_state|default(omit) }}'
|
|
labels_to_remove: '{{ docker_node.labels_to_remove|default(omit) }}'
|
|
delegate_to: "{{ groups['docker_swarm_manager'][0] }}"
|
|
when: docker_swarm_enable
|
|
tags:
|
|
- docker
|
|
- docker_swarm
|
|
- docker_swarm_labels
|
|
|
|
- name: Configure Docker daemon options.
|
|
copy:
|
|
content: "{{ docker_daemon_options | to_nice_json }}"
|
|
dest: /etc/docker/daemon.json
|
|
mode: 0644
|
|
when: docker_daemon_options.keys() | length > 0
|
|
notify: restart docker
|
|
|
|
- name: Docker | Create docker networks
|
|
docker_network:
|
|
"{{ item }}"
|
|
loop: "{{ docker_networks|default([]) }}"
|
|
tags:
|
|
- docker
|
|
- docker_networks
|
|
|
|
- name: Docker | Create docker containers
|
|
docker_container:
|
|
"{{ item }}"
|
|
loop: "{{ docker_containers|default([]) }}"
|
|
tags:
|
|
- docker
|
|
- docker_containers
|
|
|
|
- name: Docker | Create docker swarm services
|
|
docker_swarm_service:
|
|
"{{ item }}"
|
|
loop: "{{ docker_swarm_services|default([]) }}"
|
|
when: docker_swarm_enable
|
|
tags:
|
|
- docker
|
|
- docker_swarm
|
|
- docker_swarm_services
|