[GCP] Qdrant Docker hub 이미지로 DockerFile 없이 Cloud Run 배포하기

🚨 Cloud Run은 상태 비저장 서비스를 위한 플랫폼이기 때문에 Qdrant와 같은 데이터 베이스의 경우 Cloud Run으로 배포하게되면 데이터가 저장되지 않게 됩니다🥲 따라서 본 게시물은 그저 DockerFile 없이 Dockerhub에 업로드 되어 있는 이미지를 불러와 Cloud Run으로 쉽게 배포할 수 있는 방법에 대해서만 참고해 주시면 좋을 것 같습니다!🥹

 

Google Cloud Platform 에서 Docker hub에 존재하는 이미지라면

도커파일없이도 손쉽게 Cloud Run을 통해 배포할 수 있습니다.

 

qdrant 도커 이미지를 데이터베이스로 사용하기 위해 컨테이너를 배포해야 하는데 Dockerfile을 작성해서 하는 튜토리얼밖에 없어서🥲

찾고 찾다가 GCP에서 이젠 바로 Docker hub의 이미지를 링크로 인식하여 컨테이너 배포가 가능하다고 하여 테스트 후 작성하였습니다 ㅎㅎ

 

🚨 테스트 결과 GCP 가입시 20만원 상당의 무료크레딧이 있더라도 Billing 정보가 등록되어있지 않다면 Cloud Run에서 리전을 설정 할 수 없다는 오류가 발생하게 됩니다!! Billing 정보 (카드가 연결되어있는지.. 등)이 먼저 잘 등록되어 있는지 확인하세요!

 

🚨 Docker hub에 있는 컨테이너 이미지더라도 지원되지 않는 경우가 있다고 하니 자세한 건 GCP 공식 github를 확인하세요!

 

https://hub.docker.com/

 

Docker Hub Container Image Library | App Containerization

Increase your reach and adoption on Docker Hub With a Docker Verified Publisher subscription, you'll increase trust, boost discoverability, get exclusive data insights, and much more.

hub.docker.com

etc-image-0
qdrant official

 

저는 벡터 데이터베이스의 일종인 qdrant를 도커를 통해서 배포해보겠습니다.

 

etc-image-1
Cloud Run

 

먼저 Docker hub의 official 이미지를 pull 받아 컨테이너화 시켜 빌드 & 배포를 진행 해주기 위해서

Cloud Run 을 검색하여 서비스를 사용으로 변경해줍니다.

 

etc-image-2
Cloud Run

 

Cloud Run 탭에 들어가시면 다음과 같이 서비스 만들기, 작업만들기, 등을 확인할 수 있습니다.

 

서비스 만들기를 클릭해 줍니다.

 

etc-image-3
서비스 만들기

 

그럼 위와 같이 컨테이너 이미지 URL을 작성할 수 있는 칸이 나오는데,

DockerFile을 이용해서 내가 만든 도커 컨테이너를 배포하고 싶다면 Artifact Registary를 이용하여 배포해야 합니다.

하지만 Docker hub 레포지토리에 등록되어있는 도커 컨테이너 이미지라면

이미지 url을 단순히 작성해주는 것 만으로도 손쉽게 컨테이너를 빌드 및 배포할 수 있습니다.

 

etc-image-4

 

다음과 같이 작성해 줍니다.

아주 간단하게 레포지토리의 이름 : 버전의 형식으로 도커 URL만 등록해주면 됩니다.

 

외부에서 접근 가능하도록 사용할 것이기 때문에

인증되지 않은 호출도 함께 체크해줍니다.

 

etc-image-5
컨테이너 세부 설정

 

또한 컨테이너, 볼륨, 네트워킹, 보안 탭에서

컨테이너 포트를 기본값 8080에서 6333으로 변경해주었습니다.

 

qdrant 공식문서에서 6333, 6334포트로 벡터 데이터베이스 서비스를 관리 및 사용할 수 있도록

기본 제공하고 있기 때문에 컨테이너 포트번호를 맞추어 주었습니다. (스택오버플로어를 보니 컨테이너 포트가 일치하지 않아도 오류가 난다고 하네요 🥲)

 

마지막으로 원하는 조건에 따라 리소스와

실행 환경을 설정해주고 만들기를 클릭하면 됩니다. 

 

etc-image-6
서비스

 

그러면 위 그림과 같이 서비스가 만들어진 것을 확인할 수 있고

qdrant 탭에 접속하면 아래와 같이 URL과 호출 정보 등을 확인할 수 있습니다.

 

blob
Cloud Run 서비스

 

URL은 run.app 형태의 링크로 나오게 됩니다!

해당 URL에 접속하여 페이지가 잘 동작하는지 확인하면 빌드 & 배포 끝입니다🤗

 

blob
배포 확인

 

다음과 같이 배포가 잘 된 것을 확인할 수 있습니다🤗

'기타 등등 > DevOps' 카테고리의 다른 글

아주 쉽게 Docker 이용해 가상 환경 배포하기  (2) 2023.12.11