community.docker.docker_prune module – Allows to prune various docker objects
Note
This module is part of the community.docker collection (version 3.13.0).
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install community.docker
.
You need further requirements to be able to use this module,
see Requirements for details.
To use it in a playbook, specify: community.docker.docker_prune
.
Synopsis
Allows to run
docker container prune
,docker image prune
,docker network prune
anddocker volume prune
via the Docker API.
Requirements
The below requirements are needed on the host that executes this module.
Docker API >= 1.25
backports.ssl_match_hostname (when using TLS on Python 2)
paramiko (when using SSH with
use_ssh_client=false
)pyOpenSSL (when using TLS)
pywin32 (when using named pipes on Windows 32)
requests
Parameters
Parameter |
Comments |
---|---|
The version of the Docker API running on the Docker Host. Defaults to the latest version of the API supported by this collection and the docker daemon. If the value is not specified in the task, the value of environment variable Default: |
|
Whether to prune the builder cache. Choices:
|
|
Whether to remove all types of build cache. Choices:
|
|
A dictionary of filter values used for selecting images to delete. For example, See the API documentation for more information on possible filters. |
|
Amount of disk space to keep for cache in format Number is a positive integer. Unit can be one of Omitting the unit defaults to bytes. |
|
Use a CA certificate when performing server verification by providing the path to a CA certificate file. If the value is not specified in the task and the environment variable This option was called |
|
Path to the client’s TLS certificate file. If the value is not specified in the task and the environment variable |
|
Path to the client’s TLS key file. If the value is not specified in the task and the environment variable |
|
Whether to prune containers. Choices:
|
|
A dictionary of filter values used for selecting containers to delete. For example, See the docker documentation for more information on possible filters. |
|
Debug mode Choices:
|
|
The URL or Unix socket path used to connect to the Docker API. To connect to a remote host, provide the TCP connection string. For example, If the value is not specified in the task, the value of environment variable Default: |
|
Whether to prune images. Choices:
|
|
A dictionary of filter values used for selecting images to delete. For example, See the docker documentation for more information on possible filters. |
|
Whether to prune networks. Choices:
|
|
A dictionary of filter values used for selecting networks to delete. See the docker documentation for more information on possible filters. |
|
Provide a valid SSL version number. Default value determined by SSL Python module. If the value is not specified in the task, the value of environment variable |
|
The maximum amount of time in seconds to wait on a response from the API. If the value is not specified in the task, the value of environment variable Default: |
|
Secure the connection to the API by using TLS without verifying the authenticity of the Docker host server. Note that if If the value is not specified in the task, the value of environment variable Choices:
|
|
When verifying the authenticity of the Docker Host server, provide the expected name of the server. If the value is not specified in the task, the value of environment variable Note that this option had a default value |
|
For SSH transports, use the Choices:
|
|
Secure the connection to the API by using TLS and verifying the authenticity of the Docker host server. If the value is not specified in the task, the value of environment variable Choices:
|
|
Whether to prune volumes. Choices:
|
|
A dictionary of filter values used for selecting volumes to delete. See the docker documentation for more information on possible filters. |
Attributes
Attribute |
Support |
Description |
---|---|---|
Action groups: community.docker.docker, docker |
Use |
|
Support: none |
Can run in |
|
Support: none |
Will return details on what has changed (or possibly needs changing in |
Notes
Note
The module always returned
changed=false
before community.docker 3.5.1.Connect to the Docker daemon by providing parameters with each task or by defining environment variables. You can define
DOCKER_HOST
,DOCKER_TLS_HOSTNAME
,DOCKER_API_VERSION
,DOCKER_CERT_PATH
,DOCKER_SSL_VERSION
,DOCKER_TLS
,DOCKER_TLS_VERIFY
andDOCKER_TIMEOUT
. If you are using docker machine, run the script shipped with the product that sets up the environment. It will set these variables for you. See https://docs.docker.com/machine/reference/env/ for more details.This module does not use the Docker SDK for Python to communicate with the Docker daemon. It uses code derived from the Docker SDK or Python that is included in this collection.
Examples
- name: Prune containers older than 24h
community.docker.docker_prune:
containers: true
containers_filters:
# only consider containers created more than 24 hours ago
until: 24h
- name: Prune everything
community.docker.docker_prune:
containers: true
images: true
networks: true
volumes: true
builder_cache: true
- name: Prune everything (including non-dangling images)
community.docker.docker_prune:
containers: true
images: true
images_filters:
dangling: false
networks: true
volumes: true
builder_cache: true
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
The build caches that were deleted. Returned: Sample: |
|
Amount of reclaimed disk space from builder cache pruning in bytes. Returned: Sample: |
|