ansible.builtin.docker_image_facts (v2.7.16) — module

Inspect docker images

| "added in version" 2.1.0 of ansible.builtin"

Authors: Chris Houseknecht (@chouseknecht)

preview | supported by community

Install Ansible via pip

Install with pip install ansible==2.7.16

Description

Provide one or more image names, and the module will inspect each, returning an array of inspection results.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.

- name: Inspect a single image
  docker_image_facts:
    name: pacur/centos-7
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Inspect multiple images
  docker_image_facts:
    name:
      - pacur/centos-7
      - sinatra

Inputs

    
tls:
    default: false
    description:
    - Secure the connection to the API by using TLS without verifying the authenticity
      of the Docker host server. Note that if I(validate_certs) is set to C(yes) as well,
      it will take precedence.
    - If the value is not specified in the task, the value of environment variable C(DOCKER_TLS)
      will be used instead. If the environment variable is not set, the default value
      will be used.
    type: bool

name:
    description:
    - 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.
    required: true

debug:
    default: false
    description:
    - Debug mode
    type: bool

ca_cert:
    aliases:
    - tls_ca_cert
    - cacert_path
    description:
    - 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 C(DOCKER_CERT_PATH)
      is set, the file C(ca.pem) from the directory specified in the environment variable
      C(DOCKER_CERT_PATH) will be used.
    type: path

timeout:
    default: 60
    description:
    - 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 C(DOCKER_TIMEOUT)
      will be used instead. If the environment variable is not set, the default value
      will be used.
    type: int

client_key:
    aliases:
    - tls_client_key
    - key_path
    description:
    - Path to the client's TLS key file.
    - If the value is not specified in the task and the environment variable C(DOCKER_CERT_PATH)
      is set, the file C(key.pem) from the directory specified in the environment variable
      C(DOCKER_CERT_PATH) will be used.
    type: path

api_version:
    aliases:
    - docker_api_version
    default: auto
    description:
    - The version of the Docker API running on the Docker Host.
    - Defaults to the latest version of the API supported by Docker SDK for Python and
      the docker daemon.
    - If the value is not specified in the task, the value of environment variable C(DOCKER_API_VERSION)
      will be used instead. If the environment variable is not set, the default value
      will be used.
    type: str

client_cert:
    aliases:
    - tls_client_cert
    - cert_path
    description:
    - Path to the client's TLS certificate file.
    - If the value is not specified in the task and the environment variable C(DOCKER_CERT_PATH)
      is set, the file C(cert.pem) from the directory specified in the environment variable
      C(DOCKER_CERT_PATH) will be used.
    type: path

docker_host:
    aliases:
    - docker_url
    default: unix://var/run/docker.sock
    description:
    - 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, C(tcp://192.0.2.23:2376).
      If TLS is used to encrypt the connection, the module will automatically replace
      C(tcp) in the connection URL with C(https).
    - If the value is not specified in the task, the value of environment variable C(DOCKER_HOST)
      will be used instead. If the environment variable is not set, the default value
      will be used.
    type: str

ssl_version:
    description:
    - 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 C(DOCKER_SSL_VERSION)
      will be used instead.
    type: str

tls_hostname:
    description:
    - 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 C(DOCKER_TLS_HOSTNAME)
      will be used instead. If the environment variable is not set, the default value
      will be used.
    - The current default value is C(localhost). This default is deprecated and will change
      in community.docker 2.0.0 to be a value computed from I(docker_host). Explicitly
      specify C(localhost) to make sure this value will still be used, and to disable
      the deprecation message which will be shown otherwise.
    type: str

use_ssh_client:
    default: false
    description:
    - For SSH transports, use the C(ssh) CLI tool instead of paramiko.
    - Requires Docker SDK for Python 4.4.0 or newer.
    type: bool
    version_added: 1.5.0
    version_added_collection: community.docker

validate_certs:
    aliases:
    - tls_verify
    default: false
    description:
    - 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 C(DOCKER_TLS_VERIFY)
      will be used instead. If the environment variable is not set, the default value
      will be used.
    type: bool

Outputs

images:
  description: Facts for the selected images.
  returned: always
  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: null
      Name: aufs
    Id: 53773d8552f07b730f3e19979e32499519807d67b344141d965463a950a66e08
    Name: registry:2
    Os: linux
    Parent: f0b1f729f784b755e7bf9c8c2e65d8a0a35a533769c2588f02895f6781ac0805
    RepoDigests: []
    RepoTags:
    - registry:2
    Size: 0
    VirtualSize: 165808884
  type: dict