[GCE] Cloud Build로 Docker 이미지 빌드 및 푸시

반디·2023년 9월 20일
0

개발기

목록 보기
15/16

GCE에서 streamlit과 openai의 API를 이용해서 만든 앱을 docker 이미지로 빌드해보려고 한다.

1. Google Cloud CLI 설치 및 초기화

GCE에는 이미 설치가 되어있으므로 패스하고 다음 명령어를 통해 초기화를 해준다.

gcloud init

account와 프로젝트를 선택해준 후 진행한다.

2. requirements.txt 만들기

이미지를 생성하기 전에 필요한 라이브러리에 대한 정보를 담는 requirements.txt 파일을 만들어준다.

pip freeze > requirements.txt

3. Dockerfile 만들기

FROM python:3.8-slim

RUN mkdir /backend
COPY . /backend
WORKDIR /backend

RUN apt-get -y update
RUN apt-get -y upgrade

RUN pip install -r requirements.txt

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

4. Artifact Registry에서 Docker 저장소 만들기

gcloud artifacts repositories create 레포이름 --repository-format=docker \
    --location=지역 --description="Docker repository"

artifact registry란 container들을 저장하고 관리하는 저장소이다.

다음 명령어를 통해서 저장소가 잘 만들어졌는지 확인할 수 있다.

gcloud artifacts repositories list

Q. base image는 어떻게 선택해야할까?
큰 이미지보다는 작은 이미지를, 보안성과 확장성 등을 고려해서 선택해야 한다. 되도록이면 docker에서 제공하는 공식 파이썬 도커 이미지를 사용하는 것이 좋다.

docker 이미지 빌드

이미지 빌드를 위해서는 프로젝트 ID가 필요하다. 다음 명령어를 통해 프로젝트 ID를 확인한다.(콘솔에서도 확인가능)

gcloud config get-value project
gcloud builds submit --region=us-west2 --tag us-west2-docker.pkg.dev/project-id/quickstart-docker-repo/quickstart-image:tag1

다음과 같이 이미지가 빌드된 것을 확인할 수 있다.

다음과 같이 GCP 콘솔에서도 확인할 수 있다.

참고문헌

profile
꾸준히!

0개의 댓글