Модуль community.docker.docker_container_copy_into — Копирование файла в контейнер Docker
Примечание
Этот модуль входит в коллекцию community.docker (версия 3.13.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить её установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.docker. Для использования этого модуля необходимы дополнительные требования, см. Требования для подробностей.
Для использования в плейбуке укажите: community.docker.docker_container_copy_into.
Добавлена в community.docker 3.4.0
Описание
- Копирование файла в контейнер Docker.
- Аналогично
docker cp. - Для копирования файлов в неработающий контейнер необходимо указать параметры
owner_idиgroup_id. Это также необходимо, если контейнер не содержит оболочку/bin/shс инструментомid.
Примечание
Для этого модуля есть соответствующий плагин действий.
Требования
Ниже приведены требования к хосту, на котором выполняется этот модуль.
- API Docker >= 1.25
- backports.ssl_match_hostname (при использовании TLS в Python 2)
- paramiko (при использовании SSH с
use_ssh_client=false) - pyOpenSSL (при использовании TLS)
- pywin32 (при использовании именованных каналов на Windows 32)
- requests
Параметры
Параметр | Комментарии |
|---|---|
api_version псевдонимы: docker_api_version строка | Версия API Docker, работающего на Docker хосте. По умолчанию используется последняя версия API, поддерживаемая этим сбором и демоном docker. Если значение не указано в задаче, будет использовано значение переменной окружения По умолчанию: |
ca_path псевдонимы: ca_cert, tls_ca_cert, cacert_path путь | Используйте сертификат CA для проверки сервера, указав путь к файлу сертификата CA. Если значение не указано в задаче и переменная окружения Этот параметр назывался |
client_cert псевдонимы: tls_client_cert, cert_path путь | Путь к файлу TLS-сертификата клиента. Если значение не указано в задаче и переменная окружения |
client_key псевдонимы: tls_client_key, key_path путь | Путь к файлу TLS-ключа клиента. Если значение не указано в задаче и переменная окружения |
container строка / обязательно | Имя контейнера, в который нужно скопировать файлы. |
container_path строка / обязательно | Путь к файлу внутри Docker контейнера. Должен быть абсолютным путем. |
content строка | Содержимое файла. Если вы планируете предоставить двоичные данные, предоставьте их предварительно закодированными в base64 и установите |
content_is_b64 логическое значение | Если установлено Для использования двоичных данных Варианты:
|
debug логическое значение | Режим отладки Варианты:
|
docker_host псевдонимы: docker_url строка | URL или путь к Unix-сокету для подключения к Docker API. Для подключения к удалённому хосту укажите строку TCP-соединения. Например, Если значение не указано в задаче, будет использовано значение переменной окружения По умолчанию: |
follow логическое значение | Этот флаг указывает, что ссылки на файловую систему в Docker контейнере, если они существуют, должны быть следовать. Варианты:
|
force логическое значение | Если установлено Если установлено Если этот параметр не указан, модуль будет идемпотентным. Для проверки идемпотентности он будет пытаться получить информацию об объекте файловой системы в контейнере, и если всё соответствует, будет загружать файл из контейнера для сравнения с файлом для загрузки. Варианты:
|
group_id integer | Идентификатор группы, который используется при записи файла на диск. Если указан, также необходимо указать Если не указан, модуль попытается определить идентификаторы пользователя и группы для текущего пользователя в контейнере. Это сработает только в том случае, если |
local_follow boolean | Этот флаг указывает, что ссылки файловой системы в исходном дереве (где выполняется модуль), если они существуют, должны быть пройдены. Варианты:
|
mode integer | Режим файла, который используется при записи файла на диск. Используется режим файла из исходной системы, если этот параметр не указан. |
owner_id integer | Идентификатор владельца, который используется при записи файла на диск. Если указан, также необходимо указать Если не указан, модуль попытается определить идентификаторы пользователя и группы для текущего пользователя в контейнере. Это сработает только в том случае, если |
path path | |
ssl_version string | Укажите версию SSL. Значение по умолчанию определяется модулем SSL Python. Если значение не указано в задаче, используется значение переменной окружения |
timeout integer | Максимальное время ожидания ответа от API в секундах. Если значение не указано в задаче, используется значение переменной окружения По умолчанию: |
tls boolean | Защитить соединение с API с помощью TLS без проверки подлинности хоста Docker. Обратите внимание, что если Если значение не указано в задаче, используется значение переменной окружения Варианты:
|
tls_hostname string | При проверке подлинности хоста Docker укажите ожидаемое имя сервера. Если значение не указано в задаче, используется значение переменной окружения Обратите внимание, что этот параметр имел значение по умолчанию |
use_ssh_client boolean добавлено в community.docker 1.5.0 | Для SSH-транспортов используйте инструмент Варианты:
|
validate_certs aliases: tls_verify boolean | Защитить соединение с API с помощью TLS и проверить подлинность хоста Docker. Если значение не указано в задаче, используется значение переменной окружения Варианты:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
action_group | Группы действий: community.docker.docker, docker | Используйте |
check_mode | Поддержка: полная | Может работать в режиме проверки и возвращать прогноз изменения состояния, не изменяя целевой объект. |
diff_mode | Поддержка: полная Дополнительные данные потребуются для вычисления различий. Модуль использует конфигурацию ansible-core MAX_FILE_SIZE_FOR_DIFF для определения, для файлов какой размерности нужно вычислять различия. | Вернёт детали изменений (или, возможно, требующих изменения в |
Примечания
Примечание
- Подключитесь к демону Docker, предоставив параметры с каждой задачей или определив переменные окружения. Вы можете определить
DOCKER_HOST,DOCKER_TLS_HOSTNAME,DOCKER_API_VERSION,DOCKER_CERT_PATH,DOCKER_SSL_VERSION,DOCKER_TLS,DOCKER_TLS_VERIFYиDOCKER_TIMEOUT. Если вы используете docker machine, запустите скрипт, поставляемый с продуктом, который настраивает среду. Он установит эти переменные за вас. См. https://docs.docker.com/machine/reference/env/ для получения более подробной информации. - Этот модуль не использует Docker SDK для 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
Значения возврата
Общие значения возврата документированы здесь, следующие являются полями, уникальными для этого модуля:
Ключ | Описание |
|---|---|
container_path строка | Фактический путь в контейнере. Может отличаться от Возвращаемое значение: успех |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/docker/docker_container_copy_into_module.html