Как проверить статус входа в Docker с помощью команды info

DockerBeginner
Практиковаться сейчас

Введение

Docker – это мощная платформа контейнеризации, позволяющая упаковывать и запускать приложения в изолированных средах. При работе с Docker часто возникает необходимость взаимодействия с реестрами контейнеров, требующими аутентификации. Знание текущего статуса входа в систему (login status) необходимо для эффективного управления рабочим процессом Docker.

В этой лабораторной работе вы узнаете, как проверить статус входа в Docker, используя команду docker info. Этот навык является фундаментальным для пользователей Docker, поскольку он помогает убедиться, что у вас есть надлежащий доступ для извлечения (pull) и отправки (push) образов из частных реестров.

Проверка установки Docker

Прежде чем проверить статус входа в систему, давайте сначала убедимся, что Docker правильно установлен и запущен в нашей системе. Этот шаг гарантирует, что у нас есть рабочая среда Docker для последующих операций.

Проверка статуса Docker

Откройте терминал в среде LabEx. Это можно сделать, щелкнув значок терминала в среде рабочего стола.

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

docker --version

Эта команда должна отобразить версию Docker, установленную в вашей системе. Вы должны увидеть вывод, аналогичный этому:

Docker version 20.10.21, build 20.10.21-0ubuntu1~22.04.3

Далее давайте проверим, правильно ли работает демон Docker. Выполните следующую команду:

docker run hello-world

Если Docker работает правильно, он загрузит тестовый образ и запустит его в контейнере. Вы должны увидеть вывод, который включает:

Hello from Docker!
This message shows that your installation appears to be working correctly.
...

Это подтверждает, что Docker правильно установлен и запущен в вашей системе. Если вы столкнулись с какими-либо ошибками, проверьте, запущена ли служба Docker с помощью:

sudo systemctl status docker

Вывод должен показывать, что служба Docker активна (запущена).

Теперь, когда мы подтвердили, что Docker работает правильно, мы можем перейти к изучению команды docker info на следующем шаге.

Понимание команды Docker Info

На этом шаге мы рассмотрим команду docker info и поймем, как она предоставляет ценную информацию о вашей среде Docker.

Запуск команды Docker Info

Команда docker info предоставляет всесторонний обзор вашей установки Docker. Она отображает общесистемную информацию, такую как количество контейнеров и образов, версию сервера, драйвер хранилища и многое другое.

Давайте запустим команду docker info в терминале:

docker info

Вы должны увидеть подробный вывод с различными разделами. Вывод будет примерно таким:

Client:
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.9.1
    Path:     /usr/libexec/docker/cli-plugins/docker-buildx
  ...

Server:
 Containers: 1
  Running: 0
  Paused: 0
  Stopped: 1
 Images: 1
 Server Version: 20.10.21
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
  userxattr: false
 ...

 Registry: https://index.docker.io/v1/
 ...

Вывод содержит несколько разделов с информацией как о клиенте Docker, так и о сервере Docker.

Ключевые разделы в выводе Docker Info

Давайте разберем некоторые ключевые разделы вывода docker info:

  1. Client (Клиент): Информация о конфигурации клиента Docker.
  2. Server (Сервер): Информация о сервере Docker (демоне).
  3. Containers (Контейнеры): Количество контейнеров в вашей системе, включая запущенные, приостановленные и остановленные контейнеры.
  4. Images (Образы): Количество образов Docker в вашей системе.
  5. Server Version (Версия сервера): Версия сервера Docker.
  6. Storage Driver (Драйвер хранилища): Драйвер хранилища, используемый Docker.
  7. Registry (Реестр): Информация о настроенных реестрах Docker.

Для проверки статуса входа в систему нас особенно интересует раздел Registry, который мы рассмотрим на следующем шаге.

Проверка статуса входа в Docker

Теперь, когда мы понимаем команду docker info, давайте сосредоточимся на том, как использовать ее для проверки статуса входа в Docker.

Интерпретация статуса входа в Docker Info

При выполнении команды docker info вывод содержит информацию о статусе вашего входа в Docker Hub. В частности, вам следует искать раздел Registry.

Запустите команду еще раз:

docker info

Теперь найдите раздел Registry в выводе.

Если вы не вошли ни в один реестр Docker, вывод просто покажет URL-адрес реестра по умолчанию:

Registry: https://index.docker.io/v1/

Если вы вошли в систему, вы увидите дополнительную информацию, включая ваше имя пользователя:

Registry: https://index.docker.io/v1/
Username: yourusername

В настоящее время вы, скорее всего, не вошли в Docker Hub или какой-либо другой реестр.

Вход в Docker Hub

Давайте попробуем войти в Docker Hub, чтобы увидеть, как меняется информация о статусе входа. Чтобы войти в Docker Hub, используйте команду docker login:

docker login

Эта команда запросит у вас имя пользователя и пароль Docker Hub:

Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username:
Password:

Для целей этой лабораторной работы вам не нужно вводить фактические учетные данные. Вместо этого нажмите Ctrl+C, чтобы отменить процесс входа в систему.

Альтернативный метод проверки статуса входа

Помимо использования команды docker info, вы также можете проверить, вошли ли вы в Docker Hub, изучив файл конфигурации Docker:

ls -la ~/.docker/

Если вы вошли в систему, вы должны увидеть файл с именем config.json в этом каталоге. Этот файл содержит вашу информацию аутентификации. Вы можете просмотреть его содержимое с помощью:

cat ~/.docker/config.json

Если вы не вошли в систему, файл может не существовать или не содержать информацию аутентификации.

Выход из реестра Docker

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

Использование команды Docker Logout

Чтобы выйти из реестра Docker, вы можете использовать команду docker logout. Эта команда удаляет сохраненные учетные данные для указанного реестра или реестра по умолчанию, если ни один не указан.

Выполните следующую команду:

docker logout

Если вы не были в системе, вы увидите сообщение, подобное этому:

Not logged in to https://index.docker.io/v1/

Если вы были в системе и выход был успешным, вы увидите:

Removing login credentials for https://index.docker.io/v1/

Проверка статуса выхода

После выхода из системы давайте проверим наш статус входа с помощью команды docker info:

docker info

Снова найдите раздел Registry. Теперь он должен отображать только URL-адрес реестра без какой-либо информации об имени пользователя:

Registry: https://index.docker.io/v1/

Вы также можете снова проверить файл конфигурации Docker:

cat ~/.docker/config.json

Если вы ранее были в системе, файл будет обновлен для удаления информации аутентификации для реестра, из которого вы вышли.

Понимание аутентификации в реестре Docker

Docker использует аутентификацию на основе токенов для управления доступом к реестрам. Когда вы входите в реестр, Docker сохраняет токен аутентификации в файле конфигурации (~/.docker/config.json). Этот токен используется для последующих взаимодействий с реестром до тех пор, пока вы не выйдете из системы или срок действия токена не истечет.

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

Резюме

В этой лабораторной работе вы изучили основные навыки управления аутентификацией в реестре Docker:

  1. Проверка правильности установки и работы Docker
  2. Использование команды docker info для просмотра подробной информации о вашей среде Docker
  3. Проверка статуса входа в Docker с помощью команды docker info
  4. Понимание процесса входа в Docker Hub
  5. Выход из реестра Docker и проверка успешности выхода

Эти навыки являются основополагающими для работы с Docker, особенно когда вам нужно взаимодействовать с частными реестрами или защищать свои учетные данные для аутентификации.

Теперь у вас есть знания, чтобы уверенно управлять своим статусом входа в Docker, обеспечивая безопасные и эффективные операции Docker в ваших будущих проектах.