В этом руководстве я покажу вам, как отправить образ Docker в AWS ECR (Elastic Container Registry).

1. Войдите в AWS

Перейдите на https://aws.amazon.com/

2. Перейдите на страницу ЭКР

Нажмите Реестр эластичных контейнеров.

3. Выберите предпочитаемый регион

Выберите регион из списка в правой верхней части экрана.

4. Создайте новый репозиторий

Нажмите кнопку Создать репозиторий.

5. Укажите имя вашего репозитория

Заполните имя репозитория и нажмите кнопку Создать репозиторий.

Теперь в списке репозиториев вы должны увидеть свой репозиторий:

6. Установите AWS CLI на свой компьютер.

Загрузите и установите интерфейс командной строки AWS с https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html.

7. Настройте ключ доступа для вашего пользователя

Перейти на страницу IAM:

Нажмите Пользователи:

Добавьте нового пользователя (нажмите кнопку Добавить пользователей):

Заполните имя пользователя и установите флажок Ключ доступа:

Предоставьте своему пользователю разрешение AmazonElasticContainerRegistryPublicFullAccess:

Перейдите на следующие страницы и создайте пользователя. Вы должны увидеть информацию с ключом доступа:

Безопасно скопируйте Идентификатор ключа доступа и Секретный ключ доступа или не закрывайте эту страницу до настройки интерфейса командной строки AWS.

8. Настройка интерфейса командной строки AWS

Введите команду в вашей системе в терминале:

aws configure

Вставьте идентификатор ключа доступа пользователя и секретный ключ доступа, а также выбранный регион (например, us-east-1) и формат вывода по умолчанию (json):

AWS Access Key ID [None]: XXXXX
AWS Secret Access Key [None]: XXXXX
Default region name [None]: YOUR_SELECTED_REGION
Default output format [None]: json

9. Создайте и соберите проект.

Для этого я буду использовать инициализатор Spring Boot.

Перейдите на https://start.spring.io/ и сгенерируйте проект.

Извлеките заархивированный проект и добавьте Dockerfile в корневую папку:

для проекта Gradle это будет:

FROM openjdk:17-jdk-alpine

RUN addgroup -S appgroup && adduser -S appuser -G appgroup

USER appuser

VOLUME /tmp

COPY build/libs/*SNAPSHOT.jar app.jar

ENTRYPOINT ["java","-jar","/app.jar"]

Теперь создайте проект с gradle build

10. Запустите команды AWS ECR для сборки и отправки образа

Перейдите на страницу ECR и нажмите на созданный вами репозиторий.

Затем нажмите кнопку Просмотреть push-команды:

Запустите каждую команду в вашей системе в корневой папке вашего проекта.

Затем вы должны увидеть загруженное изображение в своем репозитории ECR:

Надеюсь, вам понравился этот урок :)