В этом руководстве я покажу вам, как отправить образ 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:
Надеюсь, вам понравился этот урок :)