Docker file 및 Docker-compose작성

황성호·2021년 3월 29일
0
post-custom-banner
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
      
profile
개발!
post-custom-banner

0개의 댓글