docker_image_facts - Inspect docker images
New in version 2.1.0.
Synopsis
- Provide one or more image names, and the module will inspect each, returning an array of inspection results.
Requirements
The below requirements are needed on the host that executes this module.
- python >= 2.6
- docker-py >= 1.7.0
- Please note that the docker-py Python module has been superseded by docker (see here for details). For Python 2.6,
docker-py
must be used. Otherwise, it is recommended to install thedocker
Python module. Note that both modules should not be installed at the same time. Also note that when both modules are installed and one of them is uninstalled, the other might no longer function and a reinstall of it is required. - Docker API >= 1.20
Parameters
Parameter | Choices/Defaults | Comments |
---|---|---|
api_version | Default: "auto" | The version of the Docker API running on the Docker Host. Defaults to the latest version of the API supported by docker-py. If the value is not specified in the task, the value of environment variable DOCKER_API_VERSION will be used instead. If the environment variable is not set, the default value will be used.aliases: docker_api_version |
cacert_path | 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 DOCKER_CERT_PATH is set, the file ca.pem from the directory specified in the environment variable DOCKER_CERT_PATH will be used.aliases: tls_ca_cert | |
cert_path | Path to the client's TLS certificate file. If the value is not specified in the task and the environment variable DOCKER_CERT_PATH is set, the file cert.pem from the directory specified in the environment variable DOCKER_CERT_PATH will be used.aliases: tls_client_cert | |
debug bool |
| Debug mode |
docker_host | Default: "unix://var/run/docker.sock" | 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, 'tcp://192.0.2.23:2376'. If TLS is used to encrypt the connection, the module will automatically replace 'tcp' in the connection URL with 'https'. If the value is not specified in the task, the value of environment variable DOCKER_HOST will be used instead. If the environment variable is not set, the default value will be used.aliases: docker_url |
key_path | Path to the client's TLS key file. If the value is not specified in the task and the environment variable DOCKER_CERT_PATH is set, the file key.pem from the directory specified in the environment variable DOCKER_CERT_PATH will be used.aliases: tls_client_key | |
name required | An image name or a list of image names. Name format will be name[:tag] or repository/name[:tag], where tag is optional. If a tag is not provided, 'latest' will be used. | |
ssl_version | Provide a valid SSL version number. Default value determined by ssl.py module. If the value is not specified in the task, the value of environment variable DOCKER_SSL_VERSION will be used instead. | |
timeout | Default: 60 | 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 DOCKER_TIMEOUT will be used instead. If the environment variable is not set, the default value will be used. |
tls bool |
| Secure the connection to the API by using TLS without verifying the authenticity of the Docker host server. If the value is not specified in the task, the value of environment variable DOCKER_TLS will be used instead. If the environment variable is not set, the default value will be used. |
tls_hostname | Default: "localhost" | 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 DOCKER_TLS_HOSTNAME will be used instead. If the environment variable is not set, the default value will be used. |
tls_verify bool |
| 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 DOCKER_TLS_VERIFY will be used instead. If the environment variable is not set, the default value will be used. |
Notes
Note
- 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 and DOCKER_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://docker-py.readthedocs.org/en/stable/machine/ for more details.
Examples
- name: Inspect a single image docker_image_facts: name: pacur/centos-7 - name: Inspect multiple images docker_image_facts: name: - pacur/centos-7 - sinatra
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
images dict | always | Facts for the selected images. Sample: [{'Architecture': 'amd64', 'Author': '', 'Comment': '', 'Config': {'AttachStderr': False, 'AttachStdin': False, 'AttachStdout': False, 'Cmd': ['/etc/docker/registry/config.yml'], 'Domainname': '', 'Entrypoint': ['/bin/registry'], 'Env': ['PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'], 'ExposedPorts': {'5000/tcp': {}}, 'Hostname': 'e5c68db50333', 'Image': 'c72dce2618dc8f7b794d2b2c2b1e64e0205ead5befc294f8111da23bd6a2c799', 'Labels': {}, 'OnBuild': [], 'OpenStdin': False, 'StdinOnce': False, 'Tty': False, 'User': '', 'Volumes': {'/var/lib/registry': {}}, 'WorkingDir': ''}, 'Container': 'e83a452b8fb89d78a25a6739457050131ca5c863629a47639530d9ad2008d610', 'ContainerConfig': {'AttachStderr': False, 'AttachStdin': False, 'AttachStdout': False, 'Cmd': ['/bin/sh', '-c', '#(nop) CMD ["/etc/docker/registry/config.yml"]'], 'Domainname': '', 'Entrypoint': ['/bin/registry'], 'Env': ['PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'], 'ExposedPorts': {'5000/tcp': {}}, 'Hostname': 'e5c68db50333', 'Image': 'c72dce2618dc8f7b794d2b2c2b1e64e0205ead5befc294f8111da23bd6a2c799', 'Labels': {}, 'OnBuild': [], 'OpenStdin': False, 'StdinOnce': False, 'Tty': False, 'User': '', 'Volumes': {'/var/lib/registry': {}}, 'WorkingDir': ''}, 'Created': '2016-03-08T21:08:15.399680378Z', 'DockerVersion': '1.9.1', 'GraphDriver': {'Data': None, 'Name': 'aufs'}, 'Id': '53773d8552f07b730f3e19979e32499519807d67b344141d965463a950a66e08', 'Name': 'registry:2', 'Os': 'linux', 'Parent': 'f0b1f729f784b755e7bf9c8c2e65d8a0a35a533769c2588f02895f6781ac0805', 'RepoDigests': [], 'RepoTags': ['registry:2'], 'Size': 0, 'VirtualSize': 165808884}] |
Status
This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.
Maintenance
This module is flagged as community which means that it is maintained by the Ansible Community. See Module Maintenance & Support for more info.
For a list of other modules that are also maintained by the Ansible Community, see here.
Author
- Chris Houseknecht (@chouseknecht)
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.6/modules/docker_image_facts_module.html