Spec-Zone.ru › Ansible 2.10

community.docker.docker_login – Авторизация в Docker репозитории.

Примечание

Этот плагин входит в коллекцию community.docker (версия 1.1.0).

Для его установки используйте: ansible-galaxy collection install community.docker.

Для использования в книге задач укажите: community.docker.docker_login.

  • Обзор
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Обзор

  • Обеспечивает функциональность, аналогичную команде «docker login».
  • Авторизует пользователя в Docker репозитории и добавляет учетные данные в локальный файл конфигурации Docker или соответствующее хранилище учетных данных. Добавление учетных данных в файлы конфигурации соответственно хранилище учетных данных позволяет в дальнейшем подключаться к репозиторию с помощью инструментов, таких как Ansible’s Docker модули, Docker CLI и Docker SDK для Python, без необходимости ввода учетных данных.
  • При выполнении в режиме проверки произойдет аутентификация без обновления файла конфигурации.

Требования

Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.

  • Docker API >= 1.20
  • Docker SDK для Python: Обратите внимание, что модуль Python docker-py был заменён на docker (см. здесь для получения подробностей). Для Python 2.6 необходимо использовать docker-py. В противном случае рекомендуется установить модуль Python docker. Обратите внимание, что оба модуля не должны устанавливаться одновременно. Также обратите внимание, что при установке обоих модулей и удалении одного из них, другой может перестать работать, и потребуется его переустановка.
  • Docker SDK для Python >= 1.8.0 (используйте docker-py для Python 2.6)
  • L(Python bindings for docker credentials store API) >= 0.2.1 (используйте docker-pycreds при использовании Docker SDK для Python < 4.0.0)

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
api_version
строка
Значение по умолчанию:
"auto"
Версия Docker API, работающая на хосте Docker.
По умолчанию используется последняя поддерживаемая версия API Docker SDK для Python и демона docker.
Если значение не указано в задаче, будет использовано значение переменной среды DOCKER_API_VERSION. Если переменная среды не установлена, будет использовано значение по умолчанию.

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

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

алиасы: tls_client_cert, cert_path
client_key
путь
Путь к файлу TLS-ключа клиента.
Если значение не указано в задаче, а переменная среды DOCKER_CERT_PATH установлена, будет использован файл key.pem из каталога, указанного в переменной среды DOCKER_CERT_PATH.

алиасы: tls_client_key, key_path
config_path
путь
Значение по умолчанию:
"~/.docker/config.json"
Пользовательский путь к файлу конфигурации Docker CLI.

алиасы: dockercfg_path
debug
логический
    Варианты:
  • нет ←
  • да
Режим отладки
docker_host
строка
Значение по умолчанию:
"unix://var/run/docker.sock"
URL или путь к Unix-сокету, используемые для подключения к Docker API. Для подключения к удалённому хосту укажите строку TCP-подключения. Например, tcp://192.0.2.23:2376. Если TLS используется для шифрования соединения, модуль автоматически заменит tcp в URL подключения на https.
Если значение не указано в задаче, будет использовано значение переменной среды DOCKER_HOST вместо него. Если переменная среды не установлена, будет использовано значение по умолчанию.

алиасы: docker_url
email
строка
Не выполняет никаких действий, не используйте.
Будет удалено в community.docker 2.0.0.
password
строка
Текстовое пароли для учетной записи репозитория.
Необходимо, когда state равно present.
reauthorize
логический
    Варианты:
  • нет ←
  • да
Обновить существующую аутентификацию, найденную в файле конфигурации.

алиасы: reauth
registry_url
строка
Значение по умолчанию:
"https://index.docker.io/v1/"
URL репозитория.

алиасы: registry, url
ssl_version
строка
Укажите допустимый номер версии SSL. Значение по умолчанию определяется модулем ssl.py.
Если значение не указано в задаче, будет использовано значение переменной среды DOCKER_SSL_VERSION вместо него.
state
строка
    Варианты:
  • present ←
  • absent
Это контролирует текущее состояние пользователя. present будет авторизовать пользователя, absent будет его разлогинить.
Для выхода из системы достаточно указать сервер репозитория, который по умолчанию является DockerHub.
До версии 2.1 вы могли ТОЛЬКО авторизоваться.
Docker не поддерживает «выход из системы» с пользовательским файлом конфигурации.
timeout
целое число
Значение по умолчанию:
60
Максимальное время в секундах ожидания ответа от API.
Если значение не указано в задаче, будет использовано значение переменной среды DOCKER_TIMEOUT вместо него. Если переменная среды не установлена, будет использовано значение по умолчанию.
tls
логический
    Варианты:
  • нет ←
  • да
Защитить подключение к API с использованием TLS без проверки подлинности сервера Docker. Обратите внимание, что если validate_certs также установлено в значение yes, оно будет иметь приоритет.
Если значение не указано в задаче, будет использовано значение переменной среды DOCKER_TLS вместо него. Если переменная среды не установлена, будет использовано значение по умолчанию.
tls_hostname
строка
Значение по умолчанию:
"localhost"
При проверке подлинности сервера Docker укажите ожидаемое имя сервера.
Если значение не указано в задаче, будет использовано значение переменной среды DOCKER_TLS_HOSTNAME вместо него. Если переменная среды не установлена, будет использовано значение по умолчанию.
username
строка
Имя пользователя для учетной записи репозитория.
Необходимо, когда state равно present.
validate_certs
логический
    Варианты:
  • нет ←
  • да
Защитить подключение к API с использованием TLS и проверкой подлинности сервера Docker.
Если значение не указано в задаче, будет использовано значение переменной среды DOCKER_TLS_VERIFY вместо него. Если переменная среды не установлена, будет использовано значение по умолчанию.

алиасы: tls_verify

Примечания

Примечание

  • Подключитесь к демону 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 с TLS, возможно, потребуется установить дополнительные пакеты Python. Для Docker SDK for Python версии 2.4 или новее это можно сделать, установив docker[tls] с помощью ansible.builtin.pip.
  • Обратите внимание, что Docker SDK for Python позволяет указать путь к конфигурации Docker только для очень немногих функций. В общем случае он будет использовать $HOME/.docker/config.json если переменная окружения DOCKER_CONFIG не указана, и $DOCKER_CONFIG/config.json в противном случае.
  • Этот модуль использует Docker SDK for Python для связи с демоном Docker.

Примеры

- name: Log into DockerHub
  community.docker.docker_login:
    username: docker
    password: rekcod

- name: Log into private registry and force re-authorization
  community.docker.docker_login:
    registry_url: your.private.registry.io
    username: yourself
    password: secrets3
    reauthorize: yes

- name: Log into DockerHub using a custom config file
  community.docker.docker_login:
    username: docker
    password: rekcod
    config_path: /tmp/.mydockercfg

- name: Log out of DockerHub
  community.docker.docker_login:
    state: absent

Значения возврата

Общие значения возврата описаны здесь, следующие являются полями, уникальными для этого модуля:

Ключ Возвращаемое значение Описание
login_results
словарь
при state='present'
Результаты входа.

Пример:
{'serveraddress': 'localhost:5000', 'username': 'testuser'}


Авторы

  • Olaf Kilian (@olsaki) <olaf.kilian@symanex.com>
  • Chris Houseknecht (@chouseknecht)

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/docker/docker_login_module.html

Spec-Zone.ru

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