nuyeo / NestJsBasic

따라하며 배우는 NestJS
7 stars 0 forks source link

docker-compose 사용하기 #2

Open kakasoo opened 10 months ago

kakasoo commented 10 months ago

프로젝트 폴더의 root에 아래 코드를 복사해서 docker-compose.yml 파일을 만드세요. 이후에 root 폴더에서 docker compose up -d를 입력하면 MySQL이 설치됩니다. 단, 이미 MySQL을 사용 중이라면 제가 말한 걸 하기 전에 먼저 말씀해주세요.

version: "3"
services:
  # 서비스 명
  mysql:
    # 사용할 이미지
    image: mysql:8.0

    # 컨테이너 실행 시 재시작
    restart: always

    # 컨테이너명 설정
    container_name: RepoServerDB

    # 접근 포트 설정 (컨테이너 외부:컨테이너 내부)
    ports:
      - "3306:3306"

    # 환경 변수 설정
    environment:
      MYSQL_ROOT_PASSWORD: password

    # 명령어 설정
    command:
      - --character-set-server=utf8mb4
      - --collation-server=utf8mb4_unicode_ci
kakasoo commented 10 months ago

먼저 시작하신 분이 길을 많이 뚫어놨으니 부지런히 보고 학습하세요! MySQL을 사용 중이라면 먼저 말씀해달라고 한 이유는 mysql -u root -p와 같이 mysql server 명령을 쳐도 호스트 OS로 접근하고 컨테이너의 MySQL로 접근하지 않게 되기 때문이에요. 이 경우에는 포트 번호를 바꿔서 컨테이너 외부를 3306이 아닌 다른 값으로 지정해야 합니다.

nuyeo commented 10 months ago

mySQL 모듈이 설치는 되어있지만 사용한 적은 없는데 삭제하고 위 절차대로 진행하면 괜찮을까요?

kakasoo commented 10 months ago

MySQL 모듈이 뭘 말하는거죠? package.json에 설치한 걸 말하는건가요?

nuyeo commented 10 months ago

MySQL 모듈이 뭘 말하는거죠? package.json에 설치한 걸 말하는건가요?

https://github.com/yeonod/NestJsBasic/issues/5

nuyeo commented 10 months ago

image image

Docker Desktop 설치 후 docker-compose.yml 파일 통해서 container 생성 및 mySQL 설치 완료했습니다.

kakasoo commented 10 months ago
docker compose up -d # docker-compose.yml 파일에 나와 있는 대로 도커 컨테이너를 생성한다.

docker ps # 도커 프로세스들을 조회한다

docker exec -it docker_process_id bash # 도커에서 process_id에 일치하는 컨테이너에서 bash를 실행한다. it는 연결 지속.