docker_login – Авторизация в реестре Docker
Описание
- Обеспечивает функциональность, аналогичную команде «docker login».
- Авторизуется в реестре Docker и добавляет учетные данные в локальный файл конфигурации Docker. Добавление учетных данных в файлы конфигурации позволяет будущим подключениям к реестру с использованием таких инструментов, как модули Docker Ansible, Docker CLI и Docker SDK для Python, без необходимости предоставления учетных данных.
- Запуск в режиме проверки выполнит аутентификацию без обновления файла конфигурации.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется данный модуль.
- API Docker >= 1.20
- Docker SDK для Python: Обратите внимание, что модуль Python docker-py устарел, его заменил docker (подробнее см. здесь). Для Python 2.6 необходимо использовать
docker-py. В противном случае рекомендуется установить модуль Pythondocker. Обратите внимание, что оба модуля не должны устанавливаться одновременно. Также обратите внимание, что при установке и последующем удалении одного из них, другой может перестать работать, и потребуется его повторная установка. - Docker SDK для Python >= 1.8.0 (используйте docker-py для Python 2.6)
- Только для выхода, то есть для state =
absent: утилита командной строкиdocker
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| api_version строка | Значение по умолчанию: "auto" | Версия API Docker, работающая на хосте 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 строка | Адрес электронной почты учетной записи реестра. | |
| 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 выполняет выход.Для выхода необходим только сервер реестра, по умолчанию это 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]с помощью pip. - Обратите внимание, что Docker SDK for Python позволяет указать путь к конфигурации Docker только для очень немногих функций. В целом, он будет использовать
$HOME/.docker/config.jsonесли переменная окруженияDOCKER_CONFIGне указана, и$DOCKER_CONFIG/config.jsonв противном случае.
Примеры
- name: Log into DockerHub
docker_login:
username: docker
password: rekcod
- name: Log into private registry and force re-authorization
docker_login:
registry: your.private.registry.io
username: yourself
password: secrets3
reauthorize: yes
- name: Log into DockerHub using a custom config file
docker_login:
username: docker
password: rekcod
config_path: /tmp/.mydockercfg
- name: Log out of DockerHub
docker_login:
state: absent
Значения возврата
Общие значения возврата документированы здесь, следующие — поля, уникальные для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| login_results словарь | при state='present' | Результаты входа. Пример: {'email': 'testuer@yahoo.com', 'serveraddress': 'localhost:5000', 'username': 'testuser'} |
Статус
- Этот модуль не гарантирует обратную совместимость. [превью]
- Этот модуль поддерживается сообществом Ansible. [сообщество]
Авторы
- 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.9/modules/docker_login_module.html