Nest 앱 Docker화 및 Dockerhub에 배포(Docker Compose 사용)

3560 단어
안녕 친구들,

이 기사에서는 dockerhub에 Nest 앱을 배포하는 방법을 살펴보겠습니다. 필요한 전제 조건은 dockerhub 계정과 docker 및 docker compose를 로컬에 설치하는 것입니다. 우리는 이것을 시작점으로 사용할 것입니다project.

1. 애플리케이션을 복제합니다.



원하는 폴더로 이동하고 다음 명령을 사용하여 앱을 복제합니다.

cd Desktop 
git clone https://github.com/manulangat1/nest-bookmark-api



완료되면 복제된 프로젝트로 이동합니다.

2. 도커 파일 추가.



도커 파일은 도커 이미지를 빌드하는 데 사용되는 모든 명령이 포함된 텍스트 문서입니다. 프로젝트의 루트에서 새 파일 Dockerfile을 만듭니다.

touch Dockerfile



이제 명령 추가를 시작할 수 있습니다.

FROM node:13-alphine # this is the base image that our docker image will be based on
WORKDIR /usr/src/app # this sets the working directory on our docker container 
COPY package*.json . #this command copies the package.json and package-lock.json from our host to the docker container 
RUN npm install # this installs all the packages defined in our package.json file. 
EXPOSE 3000 # exposes the port on our container 
COPY . . #copies everything from our host to our docker container
CMD ["npm" , "start:dev"] # this is the entry point of our application



3. docker-compose 파일 설정.



프로젝트의 루트에서 docker-compose.yml라는 새 파일을 만듭니다.

touch docker-compose.yml



이제 docker-compose 명령을 추가할 수 있습니다. 이 부분에 대해서는 스핀업 및 데이터베이스를 사용하지 않을 것이며 docker-compose에 대한 자세한 게시물은 작업 중입니다.

services:'3' # this tells the version of docker-compose that we are using. 
  dev-api: #this is the name of our container 
      build: . This tells docker-compose to look for the Dockerfile at the root (path where Dockerfile lives)
      environment:
      ports: # this binds the port on our local machine to our docker container
          - "3000:3000"  
      volumes: # creating a volume enables us to have a way of persisting our data. More about this soon. (we are using a named volume here)
          - db-data:/var/lib/postgresql/data
      restart: always # tells the behaviour of our application once the docker container fails



4. 도커 컨테이너를 시작합니다.



진실의 순간, 다음 명령을 사용하여 컨테이너를 시작합니다.

 docker-compose up dev-api -d


-d는 컨테이너가 분리 모드에서 실행되도록 지시합니다.

컨테이너가 실행 중인지 확인하려면 아래 명령을 사용하십시오.

docker ps



출력 형식은 다음과 같아야 합니다.

컨테이너 실행 로그를 확인하려면

docker logs $container_id



docker 컨테이너에 들어가려면 다음 명령을 사용하십시오.

docker exec -it $container_id /bin/sh



. 5 dockerhub에 배포합니다.



이 이미지를 도커 허브에 배포하려면 다음 명령을 실행해야 합니다.

docker build -t node-nest:ndj-1.0 
docker login 
docker push node-nest:ndj-1.0



애플리케이션을 Dockerhub에 성공적으로 도커화하고 배포했습니다.

Docker, Jenkins, AWS 및 DevOps 전반에 대한 더 많은 기사를 보려면 팔로우하세요.

좋은 웹페이지 즐겨찾기