33 lines
1.6 KiB
YAML
33 lines
1.6 KiB
YAML
---
|
|
- name: Ensure docker client is logged {{ (element_state == 'present') | ternary('in', 'out') }}
|
|
community.docker.docker_login:
|
|
registry_url: "{{ element_container_image_registry }}"
|
|
username: "{{ element_container_image_registry_username }}"
|
|
password: "{{ element_container_image_registry_password }}"
|
|
reauthorize: "{{ element_container_image_registry_reauthorize | default(omit, true) }}"
|
|
state: "{{ element_state }}"
|
|
when:
|
|
- element_container_image_registry_username | default(false, true)
|
|
- element_container_image_registry_password | default(false, true)
|
|
|
|
- name: Ensure container image '{{ element_container_image }}' is {{ element_state }} locally
|
|
community.docker.docker_image:
|
|
name: "{{ element_container_image }}"
|
|
state: "{{ element_state }}"
|
|
source: "{{ element_container_image_source }}"
|
|
force_source: "{{ element_container_image_force_source }}"
|
|
|
|
- name: Ensure container '{{ element_container_name }}' is {{ element_state }}
|
|
community.docker.docker_container:
|
|
name: "{{ element_container_name }}"
|
|
image: "{{ element_container_image }}"
|
|
state: "{{ (element_state == 'present') | ternary('started', 'absent') }}"
|
|
env: "{{ element_container_env | default(omit) }}"
|
|
user: "{{ element_container_user | default(omit) }}"
|
|
ports: "{{ element_container_ports | default(omit) }}"
|
|
labels: "{{ element_container_labels | default(omit) }}"
|
|
volumes: "{{ element_container_full_volumes }}"
|
|
networks: "{{ element_container_networks | default(omit) }}"
|
|
etc_hosts: "{{ element_container_etc_hosts | default(omit) }}"
|
|
restart_policy: "{{ element_container_restart_policy }}"
|