Россия и Беларусь начали и продолжают войну против народа Украины!

Введение в Docker Hub

  Максим Крук  | 

  Обновл. 16 Сен 2021  | 

 17052

 ǀ   3 

Docker Hub — это публичный репозиторий, куда вы можете загружать свои образы (images) для совместной работы с командой, заказчиками или другими пользователями.

Для создания репозитория вам нужно зарегистрироваться в Docker Hub и нажать кнопку «Create Repository»:

Вы можете создать репозиторий, используя свой Docker ID. Имя репозитория должно быть уникальным, длиной до 255 символов и состоять из символов нижнего регистра, цифр и символов - или _. Описание может быть длиной до 100 символов и использоваться для поиска.

Также вы можете связать репозиторий с вашим аккаунтом на GitHub или Bitbucket.

После создания репозитория вы получите полный доступ к его свойствам и настройкам.

Для загрузки своего образа в созданный репозиторий, вам нужно выполнить команду docker login, указав свой логин и пароль:

После чего вы получите следующий вывод:

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

Вы можете загружать несколько образов в один репозиторий, используя теги. Таким образом, вы сможете хранить разные версии своего приложения на Docker Hub, запуская его на любой машине, где установлен Docker.

Следующий шаг — это создание самого образа, который мы будем загружать на Docker Hub. В этом нам поможет Dockerfile — это файл с инструкциями для создания образов в Docker. В качестве примера я возьму образ Tomcat (веб-сервер для Java-приложений). Для этого пишем в строке поиска tomcat:

Затем выбираем tomcat из категории Verified Content (это означает, что эти образы официальные и одобрены модераторами Docker Hub), кликаем по первой записи и попадаем в репозиторий образа tomcat:

Дальше переходим во вкладку Tags и выбираем нужный нам образ и архитектуру. В моем случае, это linux/amd64:

В строке Image History мы увидим последовательность команд, нужных для создания этого образа (это можете использовать в качестве шпаргалки):

Теперь давайте создадим свой собственный образ с помощью Dockerfile, который базируется на образе Alpine (это самый легковесный Linux-дистрибутив, который часто используется для создания образов). Для этого создадим файл с названием Dockerfile, используя следующую команду:

touch Dockerfile

Теперь проверим, есть ли этот файл в директории:

ls

Затем откройте файл любым удобным вам редактором. Поскольку я использую Vim, то моей командой будет vim Dockerfile. Затем нам нужно перейти в режим редактирования нажатием клавиш I или Insert:

Напишем следующий текст:

Для сохранения файла используется комбинация :wq (wwrite и qquit).

Наш первый Dockerfile готов:

   команда from указывает, какой образ мы хотим взять за основу;

   команда run выполняет команду внутри контейнера, созданного с помощью этого образа, а именно: запускает пакетный менеджер Alpine под названием apk и устанавливает программу curl (используется для передачи файлов по сети);

   с помощью команды entrypoint мы посмотрим какую версию curl мы установили.

Теперь самое время создать образ из этого Dockerfile:

docker build -t <название пользователя>/<название образа>:[тег] <путь к Dockerfile>

Смотрим, есть ли наш образ в списке локальных образов:

docker images

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

docker push <название пользователя>/<название образа>:[тег]

Проверяем наш репозиторий:

Как вы можете видеть, наш образ уже загружен на Docker Hub, и мы можем его скачать, используя команду docker pull.

Оценить статью:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (16 оценок, среднее: 4,75 из 5)
Загрузка...

Комментариев: 3

  1. Артём:

    Добрый День, спасибо за урок.
    Думаю процесс логина нужно подробнее освятить?

    Если я делаю как у вас, просто команду docker login, то мне ответ приходит «Authenticating with existing credentials… Login Succeeded».
    Без предложения ввести логин и скриншот, как на вашем примере.
    Я ничего не подозревая, проследовал по шагам, но потом не смог запушить. Выдавало такую ошибку: «denied: requested access to the resource is denied».

    Как залогинится и связать я так и не понял.
    У меня запущен десктопное приложение Docker, и командная строка в Cmder откуда и ввожу все вышеуказанные команды.

    1. Дмитрий:

      Попробуйте с командой sudo.
      sudo docker push

  2. Ирина:

    Очень полезную тему взяли!!!!!

Добавить комментарий

Ваш E-mail не будет опубликован. Обязательные поля помечены *