GCP의 shell을 끄면 yarn start가 꺼지는 문제가 발생하는데 이를 해결하기위한 여러가지 도구가 있다.
nohup
pm2
forever
docker
kubernetes
여러가지 도구 중에 Docker를 사용해보자.
도커는 개발 환경 요소들이 설치된 모습을 이미지로 저장한다. 저장한 이미지를 클라우드에 올린다. 이미지들이 서로 연결되서 동작하는 설정을 문서(Dockerfile)로 저장한다. 새 컴퓨터에 가서 복사한 문서의 내용대로 이미지를 다운받아 설치한다.
- 도커 = 가상머신
- 가상환경의 컴퓨터이다. 내 컴퓨터 안에 컴퓨터
- 컴퓨터 운영체제의 핵심 기능( = 커널)을 내 컴퓨터와 가상머신이 공유
- 내 컴퓨터와 가상머신과 공유.
- 운영체제 전체를 설치할 필요가 없다.
- 도커 이미지
- docker를 보통 ‘컨테이너’ 라고 부른다.
- 장점
- OS 전체를 새로 설치하지 않아도 되어 가벼운 가상컴퓨터.
- 개발/배포 환경 통일**
- 도커 안에 프로그램 미리 설치.
여러가지 컨테이너를 다룰 때 사용한다. docker-compose.yaml 파일을 미리 만들어서 설정을 만든다. 그리고 docker-compose up
명령어를 입력해 컨테이너를 실행한다.
// docker-compose.yaml
version: "3.3"
services:
class_build:
build:
context: .
dockerfile: ./Dockerfile
ports:
- 3000:3000
컨테이너를 실행하기 전에 먼저 이미지를 만들어야한다. Dockerfile 파일을 만들고 이미지를 만들기 위한 명령어를 입력합니다. 그리고 docker-compose build
명령어를 통해 이미지를 만든다.
FROM node:16
WORKDIR /class_build/
COPY . /class_build/
RUN yarn install
RUN yarn build:ssr
CMD yarn start