FROM node:13.7 #이미지 불러오기
WORKDIR /app #디렉토리 변경
COPY . /app # 소스코드 이동
RUN npm install #필요한 패키지 설치
RUN npm i -g @nestjs/cli
RUN npm install @nestjs/typeorm typeorm mysql2 @types/redis redis express-session express-mysql-session
RUN npm install --save @nestjs/passport passport passport-local @types/passport-local @nestjs/jwt passport-jwt @types/passport-jwt
CMD [ "npm", "run", "start:dev" ] #이미지를 컨테이너화 시킬때 명령
version: '3'
services:
app:
container_name: starho
build: .
ports:
- '3000:3000'
depends_on: #특정 컨테이너에 대한 의존 관계를 나타냄,
- db #이 항목에 명시된 컨테이너가 먼저 생성되고 실행됩니다.
db: # 서비스 명
image: mysql:8.0.15 # 사용할 이미지
container_name: db # 컨테이너 이름 설정
ports:
- "3306:3306" # 접근 포트 설정 (컨테이너 외부:컨테이너 내부)
environment: # -e 옵션
MYSQL_ROOT_PASSWORD: "boardjs" # MYSQL 패스워드 설정 옵션
MYSQL_DATABASE: "board_api"
MYSQL_USER: 'node'
MYSQL_PASSWORD: 'boardjs'
command: # 명령어 실행
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_unicode_ci
- --default-authentication-plugin=mysql_native_password