1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
---
- name: Provision docker container "{{ item.name }}"
community.docker.docker_container:
name: "{{ item.name }}"
hostname: "{{ item.name }}"
image: "systemd/{{ docker.image_name }}"
state: started
pull: false
detach: true
exposed_ports: "{{ _exposed_ports }}"
published_ports: "{{ _exposed_ports }}"
networks:
- name: "network_{{ cluster_name }}"
networks_cli_compatible: true
volumes:
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
- "{{ cluster_dir }}/shared:/shared:z"
cgroupns_mode: host
privileged: true
tmpfs:
- "/tmp"
- "/run"
- "/run/lock"
container_default_behavior: compatibility
network_mode: default
restart_policy: unless-stopped
vars:
_exposed_ports: "{{ docker.exposed_ports|default(['22','5432']) }}"
register: docker_container_register
- set_fact:
docker_container_results: "{{
docker_container_results|default([])|union([
dc|combine({
'item': item|combine({
'private_ip': nw.Networks[nw_name].IPAddress,
'ansible_host': nw.Networks[nw_name].IPAddress,
})
})
])
}}"
vars:
dc: "{{ docker_container_register.container }}"
nw: "{{ dc.NetworkSettings }}"
nw_name: "network_{{ cluster_name }}"
|