community.docker.docker_api connection — выполнение задач в контейнерах Docker
Примечание
Этот плагин подключения входит в коллекцию community.docker (версия 5.2.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.docker. Для использования этого плагина подключения необходимы дополнительные требования. Подробности см. в разделе Требования.
Чтобы использовать его в плейбуке, укажите: community.docker.docker_api.
Добавлено в community.docker 1.1.0
Краткое описание
- Выполнение команд или передача файлов в существующий контейнер Docker и получение файлов из него.
- Для непосредственного взаимодействия с демоном Docker вместо Docker CLI используется библиотека requests. Если вы хотите использовать Docker CLI, воспользуйтесь плагином подключения community.docker.docker.
Требования
Следующие требования должны быть выполнены на локальном управляющем узле, который использует это подключение.
- requests
- pywin32 (при использовании именованных каналов в Windows 32)
- paramiko (при использовании SSH с
use_ssh_client=false) - pyOpenSSL (при использовании TLS)
Параметры
Параметр | Комментарии |
|---|---|
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_timeout целое число | Определяет, как долго можно ждать возможности прочитать вывод контейнера после начала выполнения. По умолчанию: Конфигурация:
|
debug логическое значение | Режим отладки Варианты:
|
docker_host псевдонимы: docker_url строка | URL или путь к сокету Unix для подключения к API Docker. Для подключения к удаленному узлу укажите строку TCP-подключения. Например, Если значение не указано в задаче, вместо него будет использоваться значение переменной среды По умолчанию: Конфигурация:
|
extra_env словарь добавлено в community.docker 3.12.0 | Дополнительные переменные среды, которые нужно задать при выполнении команд в контейнере Docker. Из-за ограничений менеджера конфигурации ansible-core сейчас этот параметр можно указать только в виде переменных Ansible. Конфигурация:
|
privileged логическое значение добавлено в community.docker 3.12.0 | Нужно ли выполнять команды с расширенными привилегиями. Примечание: это может позволить команде выйти за пределы контейнера. Используйте с осторожностью! Варианты:
Конфигурация:
|
remote_addr строка | Имя контейнера, к которому требуется получить доступ. По умолчанию: Конфигурация:
|
remote_user строка | Пользователь, от имени которого будут выполняться команды внутри контейнера. Конфигурация:
|
timeout целое число | Максимальное время ожидания ответа API в секундах. Если значение не указано в задаче, вместо него будет использоваться значение переменной среды По умолчанию: Конфигурация:
|
tls логическое значение | Защитите подключение к API с помощью TLS без проверки подлинности сервера узла Docker. Обратите внимание: если Если значение не указано в задаче, вместо него будет использоваться значение переменной среды Варианты:
Конфигурация:
|
tls_hostname строка | При проверке подлинности сервера узла Docker укажите ожидаемое имя сервера. Если значение не указано в задаче, вместо него будет использоваться значение переменной среды Обратите внимание, что в предыдущих версиях для этого параметра использовалось значение по умолчанию Конфигурация:
|
use_ssh_client логическое значение добавлено в community.docker 1.5.0 | Для SSH-транспорта используйте инструмент командной строки Варианты:
|
validate_certs псевдонимы: tls_verify логическое значение | Защитите подключение к API с помощью TLS и проверяйте подлинность сервера узла Docker. Если значение не указано в задаче, вместо него будет использоваться значение переменной среды Варианты:
Конфигурация:
|
working_dir строка добавлено в community.docker 3.12.0 | Каталог внутри контейнера, в котором будут выполняться команды. Требуется Docker API версии 1.35 или более поздней. Конфигурация:
|
Примечание
Для каждого типа записей конфигурации, перечисленных выше (переменная Ansible, переменная среды и т. д.), задан приоритет от низкого к высокому. Например, переменная, расположенная ниже в списке, переопределяет переменную, расположенную выше. Типы записей также упорядочены по приоритету от низкого к высокому. Например, запись в ansible.cfg (расположенная выше в списке) переопределяется переменной Ansible (расположенной ниже в списке).
Примечания
Примечание
- Не работает с TCP-сокетами TLS! Это связано с невозможностью отправить
close_notify, не закрыв соединение с помощьюSSLSocketиз Python. Дополнительную информацию см. на странице https://github.com/ansible-collections/community.docker/issues/605. - Подключайтесь к демону Docker, передавая параметры для каждой задачи или задавая переменные среды. Можно задать
DOCKER_HOST,DOCKER_TLS_HOSTNAME,DOCKER_API_VERSION,DOCKER_CERT_PATH,DOCKER_TLS,DOCKER_TLS_VERIFYиDOCKER_TIMEOUT. Если вы используете docker machine, запустите поставляемый с продуктом скрипт настройки среды. Он задаст эти переменные. Подробнее см. на странице https://docs.docker.com/machine/reference/env/. - Этот модуль не использует Docker SDK for Python для взаимодействия с демоном Docker. Он использует код, производный от Docker SDK или Python и включенный в эту коллекцию.
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/docker/docker_api_connection.html