<aside> 💡
배포파일들은 복사하여 bastion에 가져온다.
url_2a와 url_2b에는 app-pl-ep-a와 app-pl-ep-b를 적는다.
</aside>
sudo yum install -y docker; sudo usermod -aG docker ec2-user; sudo systemctl enable --now docker; sudo su - ec2-user
mkdir app
cd app
chmod +x main
cat <<EOF> ~/app/Dockerfile
# 최소한의 경량화된 실행 환경 (Alpine 사용)
FROM alpine:latest
WORKDIR /app
# 로컬에서 빌드한 바이너리와 config.ini 복사
COPY main /app/main
COPY config.ini /app/config.ini
# 테스트 환경변수 설정
# ENV Availability_Zone=ap-northeast-2a
# 실행 권한 부여
RUN chmod +x ./main
RUN apk add --no-cache libc6-compat
# 애플리케이션 실행
CMD ["./main"]
EOF
docker image build 및 push
aws ecr create-repository --repository-name ncsc-app-repo
Account_id=$(aws sts get-caller-identity --query Account --output text)
aws ecr get-login-password --region ap-northeast-2 | docker login --username AWS --password-stdin $Account_id.dkr.ecr.ap-northeast-2.amazonaws.com
docker build -t $Account_id.dkr.ecr.ap-northeast-2.amazonaws.com/ncsc-app-repo:latest .
docker push $Account_id.dkr.ecr.ap-northeast-2.amazonaws.com/ncsc-app-repo:latest