-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdocker.yml
76 lines (69 loc) · 2.53 KB
/
docker.yml
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
---
- name: Create docker networks
docker_network:
state: present
name: "{{item.name|default(item)}}"
appends: "{{item.appends|default(omit)}}"
connected: "{{item.connected|default(omit)}}"
driver: "{{item.driver|default(omit)}}"
force: "{{item.force|default(omit)}}"
with_items: "{{docker_networks}}"
- name: Login to docker registries
docker_login:
registry: "{{item.registry}}"
username: "{{item.username}}"
password: "{{item.password}}"
with_items: "{{docker_logins}}"
- name: Pull docker images
docker_image:
state: present
name: "{{item}}"
tag: "{{item.tag|default(omit)}}"
with_items: "{{docker_images}}"
- name: Run docker containers
docker_container:
state: "{{item.state|default('started')}}"
name: "{{item.name|default(item)}}"
image: "{{item.image|default(item.name)|default(item)}}"
command: "{{item.command|default(omit)}}"
devices: "{{item.devices|default(omit)}}"
entrypoint: "{{item.entrypoint|default(omit)}}"
env: "{{item.env|default(omit)}}"
env_file: "{{item.env_file|default(omit)}}"
exposed_ports: "{{item.exposed_ports|default(omit)}}"
hostname: "{{item.hostname|default(omit)}}"
kernel_memory: "{{item.kernel_memory|default(omit)}}"
labels: "{{item.labels|default(omit)}}"
links: "{{item.links|default(omit)}}"
log_driver: "{{item.log_driver|default(omit)}}"
log_options: "{{item.log_options|default(omit)}}"
memory: "{{item.memory|default(omit)}}"
network_mode: "{{item.network_mode|default(omit)}}"
networks: "{{item.networks|default(omit)}}"
published_ports: "{{item.published_ports|default(omit)}}"
pull: "{{item.pull|default(omit)}}"
recreate: "{{item.recreate|default(omit)}}"
restart: "{{item.restart|default(true)}}"
restart_policy: "{{item.restart_policy|default(omit)}}"
volumes: "{{item.volumes|default(omit)}}"
volumes_from: "{{item.volumes_from|default(omit)}}"
with_items: "{{docker_containers}}"
- name: Remove containers
docker_container:
state: absent
name: "{{item.name|default(item)}}"
with_items: "{{docker_containers_remove}}"
- name: Remove images
docker_image:
name: "{{item.name|default(item)}}"
tag: "{{item.tag|default(omit)}}"
push: "{{item.push|default(omit)}}"
repository: "{{item.repository|default(omit)}}"
state: absent
with_items: "{{docker_images_remove}}"
- name: Delete networks, disconnecting all containers
docker_network:
name: "{{item}}"
state: absent
force: yes
with_items: "{{docker_networks_remove}}"