2023기능대회

[2023 기능경기대회 클라우드컴퓨팅 1과제] DOCKER + ECR

이런우 2023. 4. 1. 01:22

시작하기전 본인에 컴퓨터에 있는 파일을 ec2-user로 보내는 커멘드다.

scp -i [pem키 경로] "[보낼 파일 경로]" ec2-user@[퍼블릭아이피]:/home/ec2-user

 

FLASK

from flask import Flask

app = Flask(__name__)

@app.route("/")
def hello():
    return "HiTest!"

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=80)

 

EC2 Docker Install

sudo yum update -y 
yum install docker # install

 

Docker File

vim Dockerfile # file

# 들어갈 내용
FROM ubuntu:18.04
RUN apt-get update && apt-get install -y python3 python3-pip
COPY app.py /
RUN pip3 install flask
CMD ["python3", "app.py"]
EXPOSE 80

 

ECR PUSH

 

ecr은 이름만 정하고 생성한다.

name : skills-ecr

 

 

systemctl status docker 
systemctl enable --now docker

# docker build -t skills-ecr .
docker build -t [이미지 이름] .

#이미지 확인
docker images

 

repository 

 

키, 리전 입력

→ 전 단계에서 수행한 IAM 정책으로

 

 

IAM에서 액세스 키 만들기 클릭

aws configure

 

잘 작동되는지확인

 

docker run -d -p 8080:80 skills-ecr
curl localhost:8080

 

마무리

docker tag [이미지 이름] [ECR Repository URI]:[태그 이름] 
aws ecr get-login-password --region [Region] | docker login --username AWS --password-stdin [ECR Repository URI]
docker push [ECR Repository URI]:[태그 이름]


Ec2를 통해 ECR에 Docker Image를 Push 하는 작업을 하였다.

다음은 ECS이다.