ECS 구축 - ECR 프라이빗 리포지토리

이현우·2023년 3월 7일
0

AWS ECS

목록 보기
4/5

1. ECR 프라이빗 리포지토리 생성

Elastic Container Registry 콘솔 → 리포지토리 생성

  • 리포지토리 이름 : ecs-test-ecr

2. Docker Image 생성

Flask를 이용하여 Hello world!를 출력

app.py

from flask import Flask
app = Flask(__name__)

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

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

requirements.txt

click==8.1.3
colorama==0.4.6
Flask==2.2.3
itsdangerous==2.1.2
Jinja2==3.1.2
MarkupSafe==2.1.2
Werkzeug==2.2.3

Dockerfile

FROM python:3.10-slim

WORKDIR /home/ecs_test

COPY requirements.txt .
COPY app.py .

RUN pip install -r requirements.txt

EXPOSE 80

CMD ["python", "app.py"]

3. Docker Image Push

로컬에서 이미지를 Push 하도록 하겠습니다.

ECR에 이미지를 Push하기 위해서는 aws-cli가 필요합니다. (aws에 docker login을 할 때 aws configure의 정보를 보고 로그인을 진행하기 때문입니다.)
aws-cli의 설치는 pip 또는 linux의 경우 apt를 통해 간단히 설치하면 됩니다. (인터넷 검색 추천)

아래 명령어를 실행 후 IAM 사용자의 access key와 access secret key를 입력하면 됩니다.

aws configure

다음으로는 ECS 리포지토리의 우측 상단에 푸시 명령 보기 부분을 클릭하여 해당 내용을 그대로 진행하면 되겠습니다.

만약 제일 첫번째 로그인에서 진행이 안되신다면 aws configure을 확인해보세요.

  • aws configure 위치 : ~/.aws/credentials
    access key와 access secret key를 정확히 입력하였는데 안된다면 권한을 확인해보세요
  • IAM 사용자 권한에 AmazonEC2ContainerRegistryFullAccess를 추가하세요.
profile
GitHub - https://github.com/jenu8628

0개의 댓글