Для того, чтобы запускать docker контейнеры, их необходимо где-то хранить. Для таких целей AWS предоставляется сервис AWS ECR или попросту реестр контейнеров, аналог Docker Hub. Стоимость хранения 1 Гб в месяц $0.1, более подробно о тарифах можно узнать на странице: https://aws.amazon.com/ru/ecr/pricing/
Входите в ваш аккаунт AWS, и в верхнем левом углу нажимайте на Services, в поле ввода текста пишите ecr
, выбирайте Elastic Container Registry:
В окне сервиса необходимо нажать на Create repository, для создания репозитория:
В окне создания репозитория необходимо указать название будущего репозитория, в моём случае это luigi-course, для простоты понимания 😎 Все настройки можно оставить по умолчанию, сейчас они для нас не имеют значения.
Поздравляю! Репозиторий создан! Следующим шагом мы загрузим докер образ в этот репозиторий. Если зайти в только что созданный реп, то справа в верхней части экрана есть кнопка View push commands
. После нажания на кпоку появится диалоговое окно с подсказками по загрузке docker образа в новый репозиторий. Для работы с AWS через командную строку используется утилита aws-cli. Если у вас её по какой-то причине нет, то скачать можно отсюда.
Внимание! Если у вас утилита ругается на неизвестный параметр get-login-password
при выполнении команды aws ecr get-login-password
, то обновите aws-cli до самой последней версии.
Для начала необходимо авторизоваться (можно копировать команды прямо из диалогового окна):
aws ecr get-login-password --region eu-central-1 | docker login --username AWS --password-stdin 673049858489.dkr.ecr.eu-central-1.amazonaws.com/luigi-course
Если вы не собирали контейнер на этом шаге, то вам необходимо запустить сборку из места расположение проекта:
docker build -t luigi_course .
Если докер образ ранее был собран, то достаточно проставить у него нужный для AWS тег:
docker tag luigi_course:latest 673049858489.dkr.ecr.eu-central-1.amazonaws.com/luigi-course:latest
Последний шаг это пуш в репозиторий:
docker push 673049858489.dkr.ecr.eu-central-1.amazonaws.com/luigi-course:latest
Если всё прошло удачно, то в AWS ECR вы увидите ваш залитый образ:
Он занимает 281 Мб. Если что-то у вас не получилось, смело задавайте вопросы в комментариях к уроку.