community.docker.docker_container_copy_into 模块 – 将文件复制到 Docker 容器
注意
此模块是 community.docker 集合 (版本 4.1.0) 的一部分。
如果您使用的是 ansible
包,则可能已经安装了此集合。它不包含在 ansible-core
中。要检查它是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install community.docker
。您需要其他要求才能使用此模块,有关详细信息,请参阅 要求。
要在 playbook 中使用它,请指定:community.docker.docker_container_copy_into
。
community.docker 3.4.0 中的新增功能
概要
将文件复制到 Docker 容器。
类似于
docker cp
。要复制非运行容器中的文件,您必须提供
owner_id
和group_id
选项。如果容器不包含具有id
工具的/bin/sh
shell,这也 是必要的。
注意
此模块具有相应的 action 插件。
要求
以下要求是在执行此模块的主机上所需的。
Docker API >= 1.25
backports.ssl_match_hostname(在 Python 2 上使用 TLS 时)
paramiko(在使用 SSH 且
use_ssh_client=false
时)pyOpenSSL(在使用 TLS 时)
pywin32(在 Windows 32 上使用命名管道时)
requests
参数
参数 |
注释 |
---|---|
Docker 主机上运行的 Docker API 的版本。 默认为此集合和 docker 守护程序支持的最新 API 版本。 如果任务中未指定此值,则将使用环境变量 默认值: |
|
通过提供 CA 证书文件的路径来执行服务器验证时使用 CA 证书。 如果任务中未指定此值并且设置了环境变量 此选项以前称为 |
|
客户端 TLS 证书文件的路径。 如果任务中未指定此值,并且环境变量 |
|
客户端 TLS 密钥文件的路径。 如果任务中未指定此值,并且环境变量 |
|
要将文件复制到的容器名称。 |
|
Docker 容器内文件的路径。 必须是绝对路径。 |
|
调试模式 选项
|
|
用于连接到 Docker API 的 URL 或 Unix 套接字路径。要连接到远程主机,请提供 TCP 连接字符串。例如, 如果任务中未指定此值,则将使用环境变量 默认值: |
|
此标志指示如果 Docker 容器中存在文件系统链接,则应遵循这些链接。 选项
|
|
如果设置为 如果设置为 如果未指定此选项,则模块将是幂等的。为了验证幂等性,它将尝试获取容器中文件系统对象的信息,如果一切看起来都匹配,则将从容器下载文件以将其与要上传的文件进行比较。 选项
|
|
将文件写入磁盘时要使用的组 ID。 如果提供,则还必须提供 如果未提供,模块将尝试确定容器中当前用户的用户和组 ID。这只有在容器中存在 |
|
此标志指示如果源代码树(模块执行的位置)中存在文件系统链接,则应遵循这些链接。 选项
|
|
将文件写入磁盘时要使用的文件模式。 如果没有提供此选项,将使用源系统中的文件模式。 |
|
将文件写入磁盘时要使用的所有者 ID。 如果提供,则还必须提供 如果未提供,模块将尝试确定容器中当前用户的用户和组 ID。这只有在容器中存在 |
|
通过使用 TLS 安全连接到 API,无需验证 Docker 主机服务器的真实性。请注意,如果 如果任务中未指定此值,则将使用环境变量 选项
|
|
验证 Docker 主机服务器的真实性时,请提供服务器的预期名称。 如果任务中未指定此值,则将使用环境变量 请注意,此选项在较旧的版本中具有默认值 |
|
对于 SSH 传输,请使用 选项
|
|
通过使用 TLS 安全连接到 API 并验证 Docker 主机服务器的真实性。 如果任务中未指定此值,则将使用环境变量 选项
|
属性
属性 |
支持 |
描述 |
---|---|---|
操作组: community.docker.docker, docker |
在 |
|
支持: 完全支持 |
可以在 |
|
在差异模式下,将返回有关已更改内容(或可能需要在 |
注释
注意
通过为每个任务提供参数或定义环境变量来连接到 Docker 守护进程。您可以定义
DOCKER_HOST
、DOCKER_TLS_HOSTNAME
、DOCKER_API_VERSION
、DOCKER_CERT_PATH
、DOCKER_TLS
、DOCKER_TLS_VERIFY
和DOCKER_TIMEOUT
。如果您正在使用 docker machine,请运行产品附带的设置环境的脚本。它会为您设置这些变量。更多详情请参见 https://docs.docker.net.cn/machine/reference/env/。此模块**不**使用Docker SDK for Python与 Docker 守护进程通信。它使用源自 Docker SDK 或包含在此集合中的 Python 代码。
示例
- name: Copy a file into the container
community.docker.docker_container_copy_into:
container: mydata
path: /home/user/data.txt
container_path: /data/input.txt
- name: Copy a file into the container with owner, group, and mode set
community.docker.docker_container_copy_into:
container: mydata
path: /home/user/bin/runme.o
container_path: /bin/runme
owner_id: 0 # root
group_id: 0 # root
mode: 0755 # readable and executable by all users, writable by root
返回值
常见的返回值已在此处记录此处,以下是此模块特有的字段
键 |
描述 |
---|---|