community / community.docker / 3.8.1 / module / docker_container_exec Execute command in a docker container | "added in version" 1.5.0 of community.docker" Authors: Felix Fontein (@felixfontein)community.docker.docker_container_exec (3.8.1) — module
Install with ansible-galaxy collection install community.docker:==3.8.1
collections: - name: community.docker version: 3.8.1
Executes a command in a Docker container.
- name: Run a simple command (command) community.docker.docker_container_exec: container: foo command: /bin/bash -c "ls -lah" chdir: /root register: result
- name: Print stdout ansible.builtin.debug: var: result.stdout
- name: Run a simple command (argv) community.docker.docker_container_exec: container: foo argv: - /bin/bash - "-c" - "ls -lah > /dev/stderr" chdir: /root register: result
- name: Print stderr lines ansible.builtin.debug: var: result.stderr_lines
env: description: - Dictionary of environment variables with their respective values to be passed to the command ran inside the container. - Values which might be parsed as numbers, booleans or other types by the YAML parser must be quoted (for example V("true")) in order to avoid data loss. - Please note that if you are passing values in with Jinja2 templates, like V("{{ value }}"), you need to add V(| string) to prevent Ansible to convert strings such as V("true") back to booleans. The correct way is to use V("{{ value | string }}"). type: dict version_added: 2.1.0 version_added_collection: community.docker 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 O(validate_certs) is set to V(true) as well, it will take precedence. - If the value is not specified in the task, the value of environment variable E(DOCKER_TLS) will be used instead. If the environment variable is not set, the default value will be used. type: bool tty: default: false description: - Whether to allocate a TTY. type: bool argv: description: - The command to execute. - Since this is a list of arguments, no quoting is needed. - Exactly one of O(argv) or O(command) must be specified. elements: str type: list user: description: - If specified, the user to execute this command with. type: str chdir: description: - The directory to run the command in. type: str debug: default: false description: - Debug mode type: bool stdin: description: - Set the stdin of the command directly to the specified value. - Can only be used if O(detach=false). type: str detach: default: false description: - Whether to run the command synchronously (O(detach=false), default) or asynchronously (O(detach=true)). - If set to V(true), O(stdin) cannot be provided, and the return values RV(stdout), RV(stderr), and RV(rc) are not returned. type: bool version_added: 2.1.0 version_added_collection: community.docker ca_path: aliases: - ca_cert - 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 E(DOCKER_CERT_PATH) is set, the file C(ca.pem) from the directory specified in the environment variable E(DOCKER_CERT_PATH) will be used. - This option was called O(ca_cert) and got renamed to O(ca_path) in community.docker 3.6.0. The old name has been added as an alias and can still be used. type: path command: description: - The command to execute. - Exactly one of O(argv) or O(command) must be specified. type: str 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 E(DOCKER_TIMEOUT) will be used instead. If the environment variable is not set, the default value will be used. type: int container: description: - The name of the container to execute the command in. required: true type: str 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 E(DOCKER_CERT_PATH) is set, the file C(key.pem) from the directory specified in the environment variable E(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 this collection and the docker daemon. - If the value is not specified in the task, the value of environment variable E(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 E(DOCKER_CERT_PATH) is set, the file C(cert.pem) from the directory specified in the environment variable E(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, V(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 E(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 L(SSL Python module, https://docs.python.org/3/library/ssl.html). - If the value is not specified in the task, the value of environment variable E(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 E(DOCKER_TLS_HOSTNAME) will be used instead. If the environment variable is not set, the default value will be used. - Note that this option had a default value V(localhost) in older versions. It was removed in community.docker 3.0.0. type: str use_ssh_client: default: false description: - For SSH transports, use the C(ssh) CLI tool instead of paramiko. 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 E(DOCKER_TLS_VERIFY) will be used instead. If the environment variable is not set, the default value will be used. type: bool strip_empty_ends: default: true description: - Strip empty lines from the end of stdout/stderr in result. type: bool stdin_add_newline: default: true description: - If set to V(true), appends a newline to O(stdin). type: bool
exec_id: description: - The execution ID of the command. returned: success and O(detach=true) sample: 249d9e3075655baf705ed8f40488c5e9434049cf3431976f1bfdb73741c574c5 type: str version_added: 2.1.0 version_added_collection: community.docker rc: description: - The exit code of the command. returned: success and O(detach=false) sample: 0 type: int stderr: description: - The standard error output of the container command. returned: success and O(detach=false) type: str stdout: description: - The standard output of the container command. returned: success and O(detach=false) type: str