Weather Forecast
April 2, 2023

WeatherForecast. Container Registry.

Предисловие

И так, мы с вами разобрались как "заворачивать" приложение в docker, как организовывать удобную работу с контейнерами с помощью docker compose (раз, два). Теперь пришло время попробовать эти знания в запуске приложения на виртуальном сервере.

Поехали

Исходники к этому посту такие же как на предыдущем шаге.

Начнем с чистого листа, запустим Docker Desktop и удалим ранее собранные образы нашего приложения.

Собираем docker-образ приложения:

docker build -t weather-forecast-app-img -f Dockerfile.app .

Собираем docker-образ утилиты setup:

docker build -t weather-forecast-setup-img -f Dockerfile.setup .

Образы собраны, но они находятся на диске нашего компьютера. Как же они попадут на виртуальный сервер, чтобы мы могли уже на нем запустить контейнеры из этих образов?

Хранилище для образов называется Container Registry.

Когда мы запускали контейнеры баз данных или собирали образ для нашего приложения, docker скачивал на наш диск базовые образы из хранилища Docker Hub. Docker Hub предоставляет какой-то объем для бесплатного размещения публичных образов и платные услуги для приватного использования. Но нам будет удобнее и дешевле создать Container Registry в Selectel.

Открываем панель управления Selectel, выбираем Облачные платформы -> Container Registry:

Жмем "Начать работу", вводим имя реестра и жмем "Создать":

Видим с писке созданное хранилище, кликаем по нему:

Жмем на кнопку с тремя точками, выбираем пункт "Получить токен":

Сохраняем к себе в надежное место логи и пароль:

Открываем терминал и логинимся в наш Container Registry:

docker login cr.selcloud.ru

Теперь нужно присвоить образу тэг:

docker tag weather-forecast-app-img cr.selcloud.ru/deploy2production/weather-forecast-app-img:v1.0

И загрузить образ в Container Registry:

docker push cr.selcloud.ru/deploy2production/weather-forecast-app-img:v1.0

Аналогично для утилиты setup:

docker tag weather-forecast-setup-img cr.selcloud.ru/deploy2production/weather-forecast-setup-img:v1.0
docker push cr.selcloud.ru/deploy2production/weather-forecast-setup-img:v1.0

И так, образы загружены:

Следующий шаг - настройка виртуальной машины.