docker compose mysql with nest

박근수·2023년 6월 5일
post-thumbnail

Lightsail로 DB 쓰다가 취소해서 config가 꼬였다.
DB를 어떻게 할 것인가... 당근 로컬이지 배포를 할 계획이 지금은 없고 나중에 하게되면 그때 다시 DB 빌리면 되니까.

로컬에서 DB를 돌리는 것은 좋은데 그렇다면 docker를 쓸 것인지 걍 ㄹㅇ 로컬로할지 고민했는데 docker가 좋겠다라고 생각했다.
1. 추후 DB를 옮길 가능성을 위해서
2. 로컬 서버에 이미 너무 많은 것들이 있어서.
3. 망하면 쉽게 밀어버릴 수 있도록
4. 서버 키고 끄기 귀찮아서

그래서 docker-compose로 DB 새로 만들었고 NestJS에서 DB를 TypeORM로 썼는데 Config 값을 다 수정해줬다.

version: '3'

services:
  mysql:
    image: mysql
    container_name: zamarmysql
    restart: always
    ports:
      - "3306:3306"
    volumes:
      - ./docker-volume/my-sql:/app
    environment:
      MYSQL_ROOT_PASSWORD: zamar

compose 초보라 이상할수도 있지만 일단 지금 내가 괜찮으면 ok.
docker-volume 폴더랑 compose를 프로젝트 내에 만들었다. 이후에 docker 더 쓸수도 있지 않을까 하는 가능성과 webstorm으로 키고 바로 docker 킬 수 있도록. 로컬이라서 걍 password 오픈했다. 가져갈것도 없어

export const typeormConfig: TypeOrmModuleOptions = {
  type: 'mysql',
  host: 'localhost',
  port: 3306,
  username: 'root',
  password: 'zamar',
  database: 'mysql',
  // entities: [__dirname + '/../**/*.entity.{js,js}'],
  synchronize: true,
};

난 TypeORM config 파일 만들었는데 그냥 모듈에서 입력해도 무방.

이후 계획

일단 음 순환참조된 모듈이 좀 있고 모듈 역할이 겹치는 것도 있고 해서 칼질좀할 것 같다.

profile
개성이 확실한편

0개의 댓글