Перейти к содержимому
Главная страница » Как загрузить образ на DockerHub

Как загрузить образ на DockerHub

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

Профессиональные команды разработки легко могут выпускать версии проектов и создавать конвейер CI/CD, за счет хранения образов Docker на удаленном сервере, доступном из любой точки мира под названием container registry, например на Docker Hub, данный реестр контейнеров создан компанией Docker и является главным для Docker.

Есть и другие зеркала Docker hub (docker registry):

При необходимости вы можете развернуть собственное Docker хранилище. Но мы в данном примере, будем использовать непосредственно Dockerhub registry. И так перейдем непосредственно к делу.

Перед упаковкой приложения в образ, необходимо проверить приложение на работоспособность. И, если мы точно уверены, что код работает, пришло время опубликовать его в Интернете, для этого мы соберем отправим образ docker в docker hub.

Создание Dockerfile

Клонируем приложение:

git clone https://github.com/aleksandrvolk/my_first_bot

Перейдем в созданный каталог:

cd my_first_bot

В каталоге my_first_bot создадим пустой файл Dockerfile:

FROM python:3.8
# set work directory
WORKDIR /usr/src/app/
# copy project
COPY . /usr/src/app/
# install dependencies
RUN pip install pytelegrambotapi
# run app
CMD ["python", "main.py"]

Создание Docker image

Сначала войдите в docker hub со своего терминала, используя docker login, вам будет предложено ввести имя пользователя и пароль, и все.

docker login

Во-вторых, нам нужно перестроить образ под нашим именем пользователя docker hub и убедиться, что у него есть тег.

docker build -t aleksandrvolk/my_first_bot:1.0.0 .

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

Docker push image to dockerhub

Теперь полученный Docker image можно отправить в docker hub и оно будет доступно для всех, но токен по-прежнему не является частью пакета, поэтому любому, кто хочет запустить бота с нашей логикой, потребуется использовать другой собственный токен.

Docker hub предлагает размещать частные изображения за дополнительную плату. Если изображение общедоступное, хостинг бесплатный.

docker image push aleksandrvolk/my_first_bot:1.0.0

Если я зайду на веб-сайт docker hub, я увижу, что изображение теперь опубликовано там.

Запустим приложение в докер:

docker run -d aleksandrvolk/my_first_bot:1.0.0
root@LXCU24DPA:~/my_first_bot# docker run -d aleksandrvolk/my_first_bot:1.0.0
26cb58065aa3510c35973d8dbb019bb99637a4e9fbeebde55d7c27f287f35696

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

Обсудить в телеграм канале.

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

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