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
(w
— write и q
— quit).
Наш первый Dockerfile готов:
команда from
указывает, какой образ мы хотим взять за основу;
команда run
выполняет команду внутри контейнера, созданного с помощью этого образа, а именно запускает пакетный менеджер Alpine под названием apk
и устанавливает программу curl (используется для передачи файлов по сети);
с помощью команды entrypoint
мы посмотрим какую версию curl мы установили.
Теперь самое время создать образ из этого Dockerfile:
docker build -t <название пользователя>/<название образа>:[тег] <путь к Dockerfile>
Смотрим, есть ли наш образ в списке локальных образов:
docker images
Со скрина выше мы видим, что наш образ присутствует. Дальше нам нужно запушить образ в Docker Hub следующей командой:
docker push <название пользователя>/<название образа>:[тег]
Проверяем наш репозиторий:
Как вы можете видеть, наш образ уже загружен на Docker Hub, и мы можем его скачать с помощью команды docker pull
.
Очень полезную тему взяли!!!!!