Вход в реестр образов Docker
docker login подключает локальный клиент Docker к реестру образов. После успешного входа docker pull и docker push используют сохранённые учётные данные для доступа к закрытым образам и ограниченным ресурсам.
Вход в Docker Hub
Выполните:
docker login
Новые версии клиента Docker по умолчанию поддерживают вход в Docker Hub с помощью кода устройства. Терминал покажет адрес для проверки и одноразовый код. Завершите авторизацию в браузере. Если нужно явно указать аккаунт, используйте:
docker login --username <docker-id>
Вход в собственный реестр
В команде указывайте только имя хоста реестра и, при необходимости, порт. Путь к образу не добавляйте:
docker login registry.example.com
docker login registry.example.com:5000
Использование токена в скриптах
Скрипты не должны передавать пароль прямо в командной строке. Опция --password-stdin не даёт паролю попасть в историю shell и в список процессов:
printf '%s' "$REGISTRY_TOKEN" | \
docker login registry.example.com \
--username "$REGISTRY_USER" \
--password-stdin
REGISTRY_TOKEN должен передаваться из интерактивного терминала, сервиса управления секретами или системы непрерывной интеграции. Не записывайте его в учебные материалы, исходный код репозитория или слои образа.
Хранение учётных данных и выход
Docker обычно сохраняет настройки входа в ~/.docker/config.json. Если в системе настроен credential store, фактические учётные данные хранятся в системной связке ключей. На общих компьютерах и временных серверах выходите из реестра после работы:
docker logout
docker logout registry.example.com
Проверка и устранение неполадок
docker info
docker pull hello-world:latest
- При ошибке
unauthorizedсначала проверьте адрес реестра, имя пользователя и права токена. - Если вход выполнен, но отправить образ не получается, проверьте, что имя образа содержит правильный префикс реестра и пространство имён.
- На серверах без графического интерфейса связка ключей может быть недоступна. В этом случае настройте подходящий credential helper для этого хоста или используйте короткоживущий токен с ограниченными правами.
Официальная документация: Docker CLI login.