On this page
docker_stack – docker stack module
New in version 2.8.
Synopsis
- Manage docker stacks using the ‘docker stack’ command on the target node (see examples).
Requirements
The below requirements are needed on the host that executes this module.
- jsondiff
- pyyaml
Parameters
Parameter | Choices/Defaults | Comments |
---|---|---|
absent_retries
integer
|
Default:
0
|
If >0 and state is absent the module will retry up to absent_retries times to delete the stack until all the resources have been effectively deleted. If the last try still reports the stack as not completely removed the module will fail.
|
absent_retries_interval
integer
|
Default:
1
|
Interval in seconds between consecutive absent_retries.
|
compose
list
|
Default:
[]
|
List of compose definitions. Any element may be a string referring to the path of the compose file on the target host or the YAML contents of a compose file nested as dictionary.
|
name
string / required
|
Stack name
|
|
prune
boolean
|
|
If true will add the --prune option to the docker stack deploy command. This will have docker remove the services not present in the current stack definition.
|
resolve_image
string
|
|
If set will add the --resolve-image option to the docker stack deploy command. This will have docker query the registry to resolve image digest and supported platforms. If not set, docker use "always" by default.
|
state
string
|
|
Service state.
|
with_registry_auth
boolean
|
|
If true will add the --with-registry-auth option to the docker stack deploy command. This will have docker send registry authentication details to Swarm agents.
|
Examples
- name: Deploy stack from a compose file
docker_stack:
state: present
name: mystack
compose:
- /opt/docker-compose.yml
- name: Deploy stack from base compose file and override the web service
docker_stack:
state: present
name: mystack
compose:
- /opt/docker-compose.yml
- version: '3'
services:
web:
image: nginx:latest
environment:
ENVVAR: envvar
- name: Remove stack
docker_stack:
name: mystack
state: absent
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
stack_spec_diff
dictionary
|
on change |
dictionary containing the differences between the 'Spec' field of the stack services before and after applying the new stack definition.
Sample:
"stack_spec_diff": {'test_stack_test_service': {u'TaskTemplate': {u'ContainerSpec': {delete: [u'Env']}}}}
|
Status
- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]
Authors
- Dario Zanzico (@dariko)
Hint
If you notice any issues in this documentation you can edit this document to improve it.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.8/modules/docker_stack_module.html