Spec-Zone.ru › Ansible

Подключение 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.

Если значение не указано в задаче, будет использовано значение переменной среды DOCKER_API_VERSION. Если переменная среды не задана, будет использовано значение по умолчанию.

По умолчанию: "auto"

Конфигурация:

  • Переменная: ansible_docker_api_version

ca_path

псевдонимы: ca_cert, tls_ca_cert, cacert_path

путь

Используйте сертификат CA при проверке сервера, указав путь к файлу сертификата CA.

Если значение не указано в задаче и установлена переменная среды DOCKER_CERT_PATH, будет использован файл ca.pem из каталога, указанного в переменной среды DOCKER_CERT_PATH.

Этот параметр назывался ca_cert и был переименован в ca_path в community.docker 3.6.0. Старое имя добавлено как псевдоним и по-прежнему может использоваться.

Конфигурация:

  • Переменная: ansible_docker_ca_cert
  • Переменная: ansible_docker_ca_path

    добавлено в community.docker 3.6.0

client_cert

псевдонимы: tls_client_cert, cert_path

путь

Путь к файлу TLS-сертификата клиента.

Если значение не указано в задаче и установлена переменная среды DOCKER_CERT_PATH, будет использован файл cert.pem из каталога, указанного в переменной среды DOCKER_CERT_PATH.

Конфигурация:

  • Переменная: ansible_docker_client_cert

client_key

псевдонимы: tls_client_key, key_path

путь

Путь к файлу TLS-ключа клиента.

Если значение не указано в задаче и установлена переменная среды DOCKER_CERT_PATH, будет использован файл key.pem из каталога, указанного в переменной среды DOCKER_CERT_PATH.

Конфигурация:

  • Переменная: ansible_docker_client_key

container_timeout

целое число

Управляет временем ожидания доступа к чтению вывода контейнера после запуска.

По умолчанию: 10

Конфигурация:

  • Элементы INI:

    [defaults]
    timeout = 10
    
    [docker_connection]
    timeout = 10
    

    добавлено в community.docker 2.2.0

  • Переменная среды: ANSIBLE_TIMEOUT
  • Переменная среды: ANSIBLE_DOCKER_TIMEOUT

    добавлено в community.docker 2.2.0

  • Переменная: ansible_docker_timeout

    добавлено в community.docker 2.2.0

  • Аргумент командной строки: –timeout

debug

логический

Режим отладки

Варианты:

  • false ← (по умолчанию)
  • true

docker_host

псевдонимы: docker_url

строка

URL или путь к Unix-сокету, используемые для подключения к Docker API. Для подключения к удалённому хосту укажите строку TCP-соединения. Например, tcp://192.0.2.23:2376. Если для шифрования соединения используется TLS, модуль автоматически заменит tcp в URL соединения на https.

Если значение не указано в задаче, будет использовано значение переменной среды DOCKER_HOST. Если переменная среды не задана, будет использовано значение по умолчанию.

По умолчанию: "unix:///var/run/docker.sock"

Конфигурация:

  • Переменная: ansible_docker_docker_host

extra_env

словарь

добавлено в community.docker 3.12.0

Укажите дополнительные переменные среды для установки при выполнении команд в контейнере Docker.

В настоящее время этот параметр может быть предоставлен только как переменные Ansible из-за ограничений менеджера конфигурации ansible-core.

Конфигурация:

  • Переменная: ansible_docker_extra_env

privileged

логический

добавлено в community.docker 3.12.0

Указывается, следует ли выполнять команды с расширенными привилегиями.

Примечание, что это позволяет команде потенциально выйти за пределы контейнера. Используйте с осторожностью!

Варианты:

  • false ← (по умолчанию)
  • true

Конфигурация:

  • Элемент INI:

    [docker_connection]
    privileged = false
    
  • Переменная среды: ANSIBLE_DOCKER_PRIVILEGED
  • Переменная: ansible_docker_privileged

remote_addr

string

Имя контейнера, к которому вы хотите получить доступ.

По умолчанию: "inventory_hostname"

Настройка:

  • Переменная: inventory_hostname
  • Переменная: ansible_host
  • Переменная: ansible_docker_host

remote_user

string

Пользователь, от имени которого следует выполнить действия внутри контейнера.

Настройка:

  • Запись в INI:

    [defaults]
    remote_user = VALUE
    
  • Переменная среды: ANSIBLE_REMOTE_USER
  • Переменная: ansible_user
  • Переменная: ansible_docker_user
  • Ключевое слово: remote_user
  • Аргумент командной строки: –user

ssl_version

string

Удалино в версии 4.0.0

Почему: Это было необходимо давно для решения проблем со старыми версиями TLS/SSL. Сейчас это уже не нужно.

Альтернатива: Нет.

Укажите версию SSL. Значение по умолчанию определяется модулем SSL Python.

Если значение не указано в задаче, вместо него будет использовано значение переменной среды DOCKER_SSL_VERSION.

Настройка:

  • Переменная: ansible_docker_ssl_version

timeout

integer

Максимальное время ожидания ответа от API в секундах.

Если значение не указано в задаче, вместо него будет использовано значение переменной среды DOCKER_TIMEOUT. Если переменная среды не задана, будет использовано значение по умолчанию.

По умолчанию: 60

Настройка:

  • Переменная: ansible_docker_timeout

tls

boolean

Защитите подключение к API с использованием TLS без проверки подлинности сервера Docker. Обратите внимание, что если validate_certs также установлено в true, оно будет иметь приоритет.

Если значение не указано в задаче, вместо него будет использовано значение переменной среды DOCKER_TLS. Если переменная среды не задана, будет использовано значение по умолчанию.

Варианты:

  • false ← (по умолчанию)
  • true

Настройка:

  • Переменная: ansible_docker_tls

tls_hostname

string

При проверке подлинности сервера Docker укажите ожидаемое имя сервера.

Если значение не указано в задаче, вместо него будет использовано значение переменной среды DOCKER_TLS_HOSTNAME. Если переменная среды не задана, будет использовано значение по умолчанию.

Обратите внимание, что этот параметр имел значение по умолчанию localhost в более ранних версиях. Он был удален в community.docker 3.0.0.

Настройка:

  • Переменная: ansible_docker_tls_hostname

use_ssh_client

boolean

добавлено в community.docker 1.5.0

Для SSH-транспортов используйте инструмент командной строки ssh вместо paramiko.

Варианты:

  • false ← (по умолчанию)
  • true

validate_certs

aliases: tls_verify

boolean

Защитите подключение к API с использованием TLS и проверьте подлинность сервера Docker.

Если значение не указано в задаче, вместо него будет использовано значение переменной среды DOCKER_TLS_VERIFY. Если переменная среды не задана, будет использовано значение по умолчанию.

Варианты:

  • false ← (по умолчанию)
  • true

Настройка:

  • Переменная: ansible_docker_validate_certs

working_dir

string

добавлено в community.docker 3.12.0

Директория внутри контейнера для выполнения команд.

Требуется версия Docker API 1.35 или более поздняя.

Настройка:

  • Запись в INI:

    [docker_connection]
    working_dir = VALUE
    
  • Переменная среды: ANSIBLE_DOCKER_WORKING_DIR
  • Переменная: ansible_docker_working_dir

Примечания

Примечание

  • Не работает с TCP TLS сокетами! Это вызвано невозможностью отправки close_notify без закрытия соединения с Python’s SSLSocket. Более подробную информацию см. на 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, включённый в этот сборник.

Авторы

  • Felix Fontein (@felixfontein)

Подсказка

Элементы конфигурации для каждого типа записи имеют порядок приоритета от низкого к высокому. Например, переменная, расположенная ниже в списке, переопределит переменную, расположенную выше.

Ссылки на сборник

  • Система отслеживания ошибок
  • Репозиторий (источники)
  • Задать вопрос (Docker)
  • Задать вопрос (Docker Compose)
  • Задать вопрос (Docker Swarm)
  • Отправить отчет об ошибке
  • Запросить новую функцию
  • Связь

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API