data "aws_caller_identity" "current" {}
resource "aws_ecr_repository" "ecr" {
name = "hrdkorea-ecr-repo"
image_scanning_configuration {
scan_on_push = true
}
tags = {
Name = "hrdkorea-ecr-repo"
}
}
resource "aws_ecr_replication_configuration" "example" {
replication_configuration {
rule {
destination {
region = "us-east-1"
registry_id = data.aws_caller_identity.current.account_id
}
}
}
}
FROM alpine
# ENV MYSQL_USER=<USERNAME>
# ENV MYSQL_PASSWORD=<PASSWORD>
# ENV MYSQL_HOST=<RDS_EP>
# ENV MYSQL_PORT=<PORT>
# ENV MYSQL_DBNAME=dev
WORKDIR /app
COPY ./customer /app/customer
RUN apk update && \\
apk add --no-cache libc6-compat libstdc++ libgcc curl openssl && \\
apk upgrade --no-cache busybox && \\
chmod +x /app/customer
USER customer
EXPOSE 8080
CMD ["/app/customer"]
FROM alpine
# ENV MYSQL_USER=<USERNAME>
# ENV MYSQL_PASSWORD=<PASSWORD>
# ENV MYSQL_HOST=<RDS_EP>
# ENV MYSQL_PORT=<PORT>
# ENV MYSQL_DBNAME=dev
WORKDIR /app
COPY ./product /app/product
RUN apk update && \\
apk add --no-cache libc6-compat libstdc++ libgcc curl openssl && \\
apk upgrade --no-cache busybox && \\
chmod +x /app/product
USER product
EXPOSE 8080
CMD ["/app/product"]
FROM alpine
WORKDIR /app
COPY ./order /app/order
RUN apk update && \\
apk add --no-cache libc6-compat libstdc++ libgcc curl openssl && \\
apk upgrade --no-cache busybox && \\
chmod +x /app/order
USER order
EXPOSE 8080
CMD ["/app/order"]
#!/bin/bash
ACCOUNT_ID=$(aws sts get-caller-identity --query "Account" --output text)
REGION_CODE=$(aws configure get region)
IMAGE_NAME=("customer" "product" "order")
for name in "${IMAGE_NAME[@]}"
do
aws ecr get-login-password --region $REGION_CODE | docker login --username AWS --password-stdin $ACCOUNT_ID.dkr.ecr.$REGION_CODE.amazonaws.com
docker build -t $ACCOUNT_ID.dkr.ecr.$REGION_CODE.amazonaws.com/hrdkorea-ecr-repo:$name ./$name/
docker push $ACCOUNT_ID.dkr.ecr.$REGION_CODE.amazonaws.com/hrdkorea-ecr-repo:$name
done