brunch

매거진 kakao cloud

You can make anything
by writing

C.S.Lewis

by Master Seo Feb 13. 2024

카카오클라우드 4탄-15.컨테이너 레지스트리

카카오 클라우드의 컨테이너 레지스트리를 만들자.

도커 이미지를 빌드해보자.

이미지를 올려보자.


https://kakaocloud.com/


kr-centeal-2

사용자 엑세스키 준비


<0> 사전준비

<1> 컨테이너 레지스트리 생성

<2> 예제 프로젝트 도커 이미지 빌드

<3> 예제 프로젝트 이미지 업로드

<4> 참고 사이트



<0> 사전준비


프로그램 설치

여기선 centos에 git , docker 설치한다.


yum install git -y

yum install docker -y



<1> 컨테이너 레지스트리 생성


비공개

tutorial

태그 덮어쓰기 가능

이미지 스캔 자동





<2> 예제 프로젝트 도커 이미지 빌드


1

mkdir -p ~/Downloads/kakaocloud-library

cd ~/Downloads/kakaocloud-library


 pwd

/root/Downloads/kakaocloud-library



2

git clone -b kakaocloud-library https://github.com/kakaoenterprise/kakaocloud-tutorials



3

cd kakaocloud-tutorials



4

예제 프로젝트 파일 확인



ls




예제 프로젝트 빌드


1

프로젝트를 빌드하기 위해 Docker daemon이 실행 상태인지 확인합니다. 

다음 명령어 이후 에러 메시지가 뜬다면, Docker desktop을 통해 Docker daemon을 실행합니다. 

MacOS 환경에서는 Docker desktop이 실행되면, Docker daemon도 자동으로 같이 실행됩니다.


docker info


에러 예제

Client:

   Version: ...

   Context: ...

   ...

   ...

Server:

ERROR: Cannot connect to the Docker daemon at unix:///Users/kakao_cloud/.docker/run/docker.sock. Is the docker daemon running?

errors pretty printing info



2

서버 프로젝트를 linux/amd64환경으로 빌드합니다.


docker build -t kakaocloud-library-server:latest --platform linux/amd64 -f ./server/deploy/Dockerfile ./server



(완료 될때까지  기다려 주세요~ 10분)




3

빌드된 서버 컨테이너 이미지를 카카오클라우드 환경에 맞게 태그를 설정합니다.

docker tag kakaocloud-library-server:latest {PROJECT_NAME}.kr-central-

2.kcr.dev/{REPOSITORY_NAME}/kakaocloud-library-server:latest



docker tag kakaocloud-library-server:latest kakao-infraeng-dev-pz.kr-central-2.kcr.dev/tutorial/kakaocloud-library-server:latest



PROJECT_NAME

컨테이너 레지스트리를 생성한 카카오클라우드 콘솔의 프로젝트 이름


REPOSITORY_NAME

컨테이너 레지스트리에서 생성한 리포지토리의 이름



4

클라이언트 프로젝트를 linux/amd64환경으로 빌드합니다


docker build -t kakaocloud-library-client:latest --platform linux/amd64 -f ./client/deploy/Dockerfile ./client


(10분 걸림)



5

빌드된 클라이언트 컨테이너 이미지를 카카오클라우드 환경에 맞게 태그를 설정합니다.

docker tag kakaocloud-library-client:latest {PROJECT_NAME}.kr-central-2.kcr.dev/{REPOSITORY_NAME}/kakaocloud-library-client:latest




docker tag kakaocloud-library-client:latest kakao-infraeng-dev-pz.kr-central-2.kcr.dev/tutorial/kakaocloud-library-client:latest






<3> 예제 프로젝트 이미지 업로드



컨테이너 레지스트리 로그인


1

로컬 머신에 사용자 정보를 입력하여 카카오클라우드 컨테이너 레지스트리에 로그인합니다.

docker login {PROJECT_NAME}.kr-central-2.kcr.dev --username {ACCESS_KEY} --password {ACCESS_SECRET_KEY}



docker login kakao-infraeng-dev-pz.kr-central-2.kcr.dev --username {ACCESS_KEY} --password {ACCESS_SECRET_KEY}



2

로그인 결과 확인합니다

Login Succeeded!





컨테이너 이미지 업로드



1

서버 컨테이너 이미지를 업로드 합니다.

docker push {PROJECT_NAME}.kr-central-2.kcr.dev/{REPOSITORY_NAME}/kakaocloud-library-server:latest


docker push kakao-infraeng-dev-pz.kr-central-2.kcr.dev/tutorial/kakaocloud-library-server:latest



2

클라이언트 컨테이너 이미지를 업로드합니다.

docker push {PROJECT_NAME}.kr-central-2.kcr.dev/{REPOSITORY_NAME}/kakaocloud-library-client:latest


docker push kakao-infraeng-dev-pz.kr-central-2.kcr.dev/tutorial/kakaocloud-library-client:latest




결과 확인


1

콘솔 

Container Registry 메뉴에서 생성한 tutorial Repository에 접속



2

이미지 이름 확인.

kakaocloud-library-client

kakaocloud-library-server


자동 스캔





3

업로드된 이미지를 다운로드.

로컬 머신에 입력하여 이미지를 설치한다.


서버이미지

docker pull {PROJECT_NAME}.kr-central-2.kcr.dev/{REPOSITORY_NAME}/kakaocloud-library-server:latest


docker pull kakao-infraeng-dev-pz.kr-central-2.kcr.dev/tutorial/kakaocloud-library-server:latest




클라이언트 이미지

docker pull {PROJECT_NAME}.kr-central-2.kcr.dev/{REPOSITORY_NAME}/kakaocloud-library-server:latest



docker pull kakao-infraeng-dev-pz.kr-central-2.kcr.dev/tutorial/kakaocloud-library-server:latest



4

이미지 설치 확인합니다



docker images





<4> 참고 사이트



https://docs.kakaocloud.com/tutorial/dev-ops/cr-basic




https://brunch.co.kr/@topasvga/3651



감사합니다.


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari