Подключение community.docker.docker_api – Запуск задач в контейнерах Docker
Примечание
Этот плагин подключения входит в коллекцию community.docker (версия 3.13.0).
У вас, возможно, уже установлена эта коллекция, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Чтобы установить её, используйте: ansible-galaxy collection install community.docker. Для использования этого плагина подключения необходимы дополнительные требования. Подробности см. в разделе Требования.
Чтобы использовать его в книге задач, укажите: community.docker.docker_api.
Новая в community.docker 1.1.0
Описание
- Запуск команд или передача/получение файлов в существующий контейнер Docker.
- Использует библиотеку requests для прямого взаимодействия с демоном Docker вместо использования Docker CLI. Используйте плагин подключения community.docker.docker, если хотите использовать Docker CLI.
Требования
Ниже перечислены требования, необходимые на локальном узле-контроллере, выполняющем это подключение.
- requests
- pywin32 (при использовании именованных каналов на Windows 32)
- paramiko (при использовании SSH с
use_ssh_client=false) - pyOpenSSL (при использовании TLS)
- backports.ssl_match_hostname (при использовании TLS в Python 2)
Параметры
Параметр | Комментарии |
|---|---|
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-сокету, используемые для подключения к Docker API. Для подключения к удалённому хосту укажите строку TCP-соединения. Например, Если значение не указано в задаче, будет использовано значение переменной среды По умолчанию: Конфигурация:
|
extra_env словарь добавлено в community.docker 3.12.0 | Укажите дополнительные переменные среды для установки при выполнении команд в контейнере Docker. В настоящее время этот параметр может быть предоставлен только как переменные Ansible из-за ограничений менеджера конфигурации ansible-core. Конфигурация:
|
privileged логический добавлено в community.docker 3.12.0 | Указывается, следует ли выполнять команды с расширенными привилегиями. Примечание, что это позволяет команде потенциально выйти за пределы контейнера. Используйте с осторожностью! Варианты:
Конфигурация:
|
remote_addr string | Имя контейнера, к которому вы хотите получить доступ. По умолчанию: Настройка:
|
remote_user string | Пользователь, от имени которого следует выполнить действия внутри контейнера. Настройка:
|
ssl_version string Удалино в версии 4.0.0 Почему: Это было необходимо давно для решения проблем со старыми версиями TLS/SSL. Сейчас это уже не нужно. Альтернатива: Нет. | Укажите версию 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. Если значение не указано в задаче, вместо него будет использовано значение переменной среды Варианты:
Настройка:
|
working_dir string добавлено в community.docker 3.12.0 | Директория внутри контейнера для выполнения команд. Требуется версия Docker API 1.35 или более поздняя. Настройка:
|
Примечания
Примечание
- Не работает с TCP TLS сокетами! Это вызвано невозможностью отправки
close_notifyбез закрытия соединения с Python’sSSLSocket. Более подробную информацию см. на https://github.com/ansible-collections/community.docker/issues/605. - Подключение к демону 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, включённый в этот сборник.
Ссылки на сборник
© 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_api_connection.html