resource "aws_ecr_repository" "customer" {
name = "customer"
image_tag_mutability = "MUTABLE"
tags = {
Name = "customer"
}
}
resource "aws_ecr_repository" "product" {
name = "product"
image_tag_mutability = "MUTABLE"
tags = {
Name = "product"
}
}
resource "aws_ecr_repository" "order" {
name = "order"
image_tag_mutability = "MUTABLE"
tags = {
Name = "order"
}
}
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
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
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
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/$name:latest ./$name/
docker push $ACCOUNT_ID.dkr.ecr.$REGION_CODE.amazonaws.com/$name:latest
done