docker_login – Вход в Docker-реестр.
Новое в версии 2.0.
Краткое описание
- Обеспечивает функциональность, аналогичную команде «docker login».
- Авторизуется в Docker-реестре и добавляет учетные данные в локальный файл конфигурации Docker. Добавление учетных данных в файлы конфигурации позволяет в дальнейшем подключаться к реестру с помощью таких инструментов, как модули Docker в Ansible, Docker CLI и docker-py, без необходимости ввода учетных данных.
- Запуск в режиме проверки выполнит аутентификацию без обновления файла конфигурации.
Требования
Ниже перечислены требования, необходимые на хосте, на котором будет выполняться этот модуль.
- python >= 2.6
- docker-py >= 1.7.0
- Обратите внимание, что модуль Python docker-py был заменен на docker (см. здесь для получения подробностей). Для Python 2.6 необходимо использовать
docker-py. В противном случае рекомендуется установить модуль Pythondocker. Обратите внимание, что оба модуля не должны устанавливаться одновременно. Также обратите внимание, что при установке и удалении одного из модулей другой может перестать работать, и потребуется его переустановка. - Docker API >= 1.20
- Только для выхода (state=absent): утилита командной строки docker
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| api_version - | Значение по умолчанию: "auto" | Версия Docker API, работающего на Docker-хосте. По умолчанию используется последняя версия API, поддерживаемая docker-py. Если значение не указано в задаче, используется значение переменной окружения DOCKER_API_VERSION. Если переменная окружения не задана, используется значение по умолчанию.псевдонимы: docker_api_version |
| cacert_path - | Используйте сертификат CA при проверке сервера, указав путь к файлу сертификата CA. Если значение не указано в задаче и установлена переменная окружения DOCKER_CERT_PATH, используется файл ca.pem из каталога, указанного в переменной окружения DOCKER_CERT_PATH. псевдонимы: tls_ca_cert | |
| cert_path - | Путь к файлу TLS-сертификата клиента. Если значение не указано в задаче и установлена переменная окружения DOCKER_CERT_PATH, используется файл cert.pem из каталога, указанного в переменной окружения DOCKER_CERT_PATH. псевдонимы: tls_client_cert | |
| config_path - | Значение по умолчанию: "~/.docker/config.json" | Пользовательский путь к файлу конфигурации Docker CLI. псевдонимы: self.config_path, dockercfg_path |
| debug boolean |
| Режим отладки |
| 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 - | Электронный адрес для учетной записи реестра. | |
| key_path - | Путь к файлу TLS-ключа клиента. Если значение не указано в задаче и установлена переменная окружения DOCKER_CERT_PATH, используется файл key.pem из каталога, указанного в переменной окружения DOCKER_CERT_PATH. псевдонимы: tls_client_key | |
| password - / обязательно | Текстовый пароль для учетной записи реестра | |
| reauthorize boolean |
| Обновить существующую аутентификацию, найденную в файле конфигурации. псевдонимы: reauth |
| registry_url - | Значение по умолчанию: "https://index.docker.io/v1/" | URL-адрес реестра. псевдонимы: registry, url |
| ssl_version - | Укажите версию SSL. Значение по умолчанию определяется модулем ssl.py. Если значение не указано в задаче, используется значение переменной окружения DOCKER_SSL_VERSION. | |
| state - добавлен в 2.3 |
| Это управляет текущим состоянием пользователя. present выполнит вход пользователя, absent выполнит выход.Для выхода нужен только сервер реестра, по умолчанию это DockerHub. До версии 2.1 можно было ТОЛЬКО войти. docker не поддерживает 'выход' с пользовательским файлом конфигурации. |
| timeout - | Значение по умолчанию: 60 | Максимальное время в секундах ожидания ответа от API. Если значение не указано в задаче, используется значение переменной окружения DOCKER_TIMEOUT. Если переменная окружения не задана, используется значение по умолчанию. |
| tls boolean |
| Защитите соединение с API с помощью TLS без проверки подлинности Docker-хост-сервера. Если значение не указано в задаче, используется значение переменной окружения DOCKER_TLS. Если переменная окружения не задана, используется значение по умолчанию. |
| tls_hostname - | Значение по умолчанию: "localhost" | При проверке подлинности Docker-хост-сервера укажите ожидаемое имя сервера. Если значение не указано в задаче, используется значение переменной окружения DOCKER_TLS_HOSTNAME. Если переменная окружения не задана, используется значение по умолчанию. |
| tls_verify boolean |
| Защитите соединение с API с помощью TLS и проверьте подлинность Docker-хост-сервера. Если значение не указано в задаче, используется значение переменной окружения DOCKER_TLS_VERIFY. Если переменная окружения не задана, используется значение по умолчанию. |
| username - / обязательно | Имя пользователя для учетной записи реестра |
Примечания
Примечание
- Подключитесь к демону 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://docker-py.readthedocs.io/en/stable/machine/ для получения дополнительных сведений.
- При подключении к демону Docker с TLS, возможно, потребуется установить дополнительные пакеты Python. Для Docker SDK для Python версии 2.4 или новее это можно сделать, установив
docker[tls]с помощью pip. - Обратите внимание, что Docker SDK для 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.7/modules/docker_login_module.html