corineee
10
2021-10-24 09:16:31 작성 2021-10-24 09:19:01 수정됨
1
84

[MAC OS]로컬DB에서 docker database로 연결 어떻게 해야할까요?


안녕하세요 구글링을 하루 꼬박했는데 해결을 못 해 질문합니다.

기술스택 : NestJS, Serverless 프레임워크, Docker


상황

1. docker-compose로 mariaDB 컨테이너를 세움

2. 서버를 실행하면 docker로 생성한 db가 아닌 로컬 db로 연결이 됨.


요점

1. 서버 실행 시 도커로 생성한 데이터베이스로 연결하고 싶습니다.

port도 변경해 보고 여러 가지 해봤는데 로컬DB로 만 연결됩니다.


추가 질문

1. 컨테이너는 DB만 생성했는데 서버도 도커로 세워야 하나요?


# docker-compose.yml
version: '3.8'

services:
  mariadb:
    container_name: dev_mariadb
    image: mariadb:latest
    restart: always
    environment:
      MYSQL_USER: 'root'
      MYSQL_PASSWORD: 'test'
      MYSQL_ROOT_PASSWORD: 'test'
      MYSQL_DATABASE: 'test'
      TZ: Asia/Seoul
    ports:
      - '3306:3306'
    command:
      [
        'mysqld',
        '--character-set-server=utf8mb4',
        '--collation-server=utf8mb4_unicode_ci',
      ]
    volumes:
      - './db_data:/var/lib/mysql'


0
  • 답변 1

  • Dierslair
    5k
    2021-10-24 13:41:42

    1. docker-compose로 mariaDB 컨테이너를 세움 : docker 컨테이너와 별도로 local 마리아db가 있으면 네트워크 establish 시 실패합니다(포트 충돌).

    우선 local db 서비스를 중지하고 도커로 실행하신 후, docker ps 또는 docker stats로 mariadb 컨테이너가 잘 돌아가는지 확인해 보셔야 하겠습니다.

  • 로그인을 하시면 답변을 등록할 수 있습니다.