라벨이 이미지인 게시물 표시

GCP Docker Image Push, Pull to Container Registery from instance(VM)

이미지
해당 과정은 도커가 설치 되어 있어야 합니다.  Container Registry가 사용 가능한 상태여야 합니다. gcloud 버전은 아래와 같습니다. ----------------------------------------------------------------- Google Cloud SDK 413.0.0 alpha 2023.01.06 beta 2023.01.06 bq 2.0.84 bundled-python3-unix 3.9.12 core 2023.01.06 gcloud-crc32c 1.0.0 gsutil 5.17 minikube 1.28.0 skaffold 2.0.4 ----------------------------------------------------------------- 링크 : docker install by terminal : ubuntu 20.04 링크 : docker 도커를 이용하여 이미지(IMAGE) 생성하기 : NestJS 사용 VM에서 docker images를 만들때 아래와 같은 방식으로 이미지 태그를 만듭니다. [리전 => ex) asia.gcr.io]/[GOOGLE_PROJECT_ID]/[IMAGE NAME]:[TAG] VM instance에서 도커 이미지를 생성합니다. 하지만 푸시를 할려고 하면 인증절차때문에 안된다.  $ gcloud auth configure-docker 만약 위처럼 진행해도 푸시가 되지 않는다면(Access denied) 아래 절차를 시도해 보시기 바랍니다. $ gcloud init 위의 터미널을 실행하여 gcloud로그인 정보를 갱신한다. 해당 VM에 접근하는 모든 유저들한테 증명서가 노출된다고 한다. 고로 본인만 사용하는 VM에 진행하도록 한다. Y를 선택 위 사진처럼 인증시 해당 링크에 들어가서 키값을 받고 터미널에 입력을 해야 한다. 완료가 되면 gcloud의 인증절차가 마무리 된다. 여기서 36을 선택한 이유는 기존의 프로젝트가 존재해서 ...

docker 도커허브(docker hub)에 이미지 받기(Pull)

이미지
 이제 이미지를 'docker hub'에서 받도록 하겠습니다. 'docker hub'에 이미지 올리는 법(Public)에 대해서 알고 싶으시면 아래 링크를 참고해 주시기 바랍니다. 링크1 : docker 도커허브(docker hub)에 이미지 올리기(Push) 사진1) 도커허브에서 참고해야 할 사항 docker hub에 올려져 있는 레파지토리 이미지를 받습니다. $ docker pull [REPOSITORY_NAME]:[TAG OPTIONAL] copy 사진2) 이미지를 도커 허브에서 받음 사진2에서 도커허브로부터 이미지를 받을것을 확인할수 있습니다. 이제 이 이미지로 컨테이너를 생성해서 사용하시면 됩니다. 컨테이너 생성에 대해서는 아래 링크를 확인해 주시기 바랍니다. 링크2: docker 도커를 이용하여 컨테이너(CONTAINER) 생성하기 : NestJS 사용 해당 이미지는 Public 이미지 이기 때문에 누구든지 받으실수 있습니다. 개발자 디스코드 서버 링크

docker 도커허브(docker hub)에 이미지 올리기(Push)

이미지
  사진1) 도커허브 웹사이트 GitHub와 마찬가지로 도커허브(docker hub)또한 해당 이미지를 올리거나 내릴수 있습니다. 하지만 지금은 이미지를 올리는 것에 이 글을 작성하도록 하겠습니다. 만약 도커의 이미지와 컨테이너를 생성하는 방법에 대해서 모르시면 아래 링크를 참고해 주시기 바랍니다. 링크1: docker 도커를 이용하여 이미지(IMAGE) 생성하기 : NestJS 사용 링크2: docker 도커를 이용하여 컨테이너(CONTAINER) 생성하기 : NestJS 사용 사진2) 도커 레파지토리 페이지 사진2에 해당되는 페이지에서 'Create Repository'를 선택해 줍니다. 사진3) 레파지토리 생성 docker hub 사이트에서 이미지를 저장할 레파지토리를 생성합니다. 이때 'Public'와 'Private'이 있습니다. 말 그대로 'Public'는 다른 개발자한테 열려있는 이미지 입니다. 'Private'는 해당 계정만 사용할수 있는 이미지 입니다. 지금은 Public로 진행하겠습니다. 사진4) 레파지토리 생성 생성이 완료되면 해당 레파지토리로 이미지를 올릴수 있습니다.  사진5) 이미지 생성 Local에서 해당 이미지를 생성하는데 주의할 점이 있습니다. 이미지의 Name이 docker hub에서 해당 레파지토리의 Name과 일치해야 합니다. 사진3에서 'alexchoi1/firstdockerhub'가 레파지토리 Name입니다. 그러면 Local의 이미지 또한 'alexchoi1/firstdockerhub'가 되어야 합니다.  $ docker push [REPOSITORY_NAME]:[TAG OPTIONAL] copy 사진6) docker hub로 이미지 push 이제 해당 이미지를 docker hub로 일어줍니다. 사진7) docker hub로 이미지 push 모든것이 정상적으로 올라가면 사진7과 같이 해당 레파지토리...

docker 도커를 이용하여 이미지(IMAGE) 생성하기 : NestJS 사용

이미지
 안녕하세요. 알렉스 입니다. 이번에는 도커를 이용하여 이미지를 생성하도록 하겠습니다. 도커에서 이미지는 일종의 설계도면이라고 보시면 됩니다. 실질적으로 컨테이너를 만들기 위해서는 이미지가 필요합니다. 따라서 이미지를 어떻게 만드냐에 따라 컨테이너의 성능도 달라질수 있습니다. 사진1) 도커파일 생성(Dockerfile) 일단 도커파일을 생성합니다. 이 도커파일(Dockerfile)은 이미지를 어떤 절차로 실행할지를 알려주는 문서라고 보면 됩니다. # Base 이미지를 사용합니다. (여기서는 node 16버전을 사용합니다) FROM node : 16 # /Dockerfile # 작업 폴더를 설정합니다. 도커내의 폴더를 지정합니다. WORKDIR /app/nestjs # 해당 package.json 파일을 도커의 /app/nestjs폴더로 옮깁니다. COPY package.json /app/nestjs # 해당 package-lock.json 파일을 도커의 /app/nestjs폴더로 옮깁니다. COPY package-lock.json /app/nestjs # 'npm install'을 터미널로 실행합니다. RUN npm install # 복사하지 않은 모든 것을 도커의 /app/nestjs으로 옮깁니다. COPY . /app/nestjs # 'npm run build'을 터미널로 실행합니다. RUN npm run build # 도커 내부에 3000포트를 노출 시킵니다. EXPOSE 3000 # 컨테이너 실행시 'node dist/main'을 터미널로 실행합니다. CMD [ "node" , "dist/main" ] 위 코드는 제가 작성한 도커 파일 입니다. 이 상태로 바로 이미지를 생성할수 있습니다. 하지만 각 단계가 어떻게 진행되는지 알아야 하기 때문에 한줄씩 설명 드리도록 하겠습니다 (주석 참고 가능) - FROM 'FROM'...