Nest 앱 Docker화 및 Dockerhub에 배포(Docker Compose 사용)
이 기사에서는 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 전반에 대한 더 많은 기사를 보려면 팔로우하세요.
Reference
이 문제에 관하여(Nest 앱 Docker화 및 Dockerhub에 배포(Docker Compose 사용)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/langatmanuk/dockerizing-a-nest-app-and-deploying-to-dockerhub-with-docker-compose-44dg텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)