티스토리 뷰

1. 나의 상황

- mysql포트를 43306으로 변경해둔 상황

- docker compose에 db port 지정시 43306:3306으로 하니 db가 실행이 안됨(3306:3306도 동일)

- .env파일에 url입력시 localhost:43306 으로 해뒀음

 

2. 해결방법

- 실제 내가 하는 db연결 url인 localhost:43306이 아니라 > docker 컨테이너가 연결하는 db:3306이어야함!!!!

- .env

DATABASE_URL=mysql+pymysql://아이디:비밀번호@db:3306/데이터베이스이름

- docker-compose파일에 설정한 이름, 포트와 동일하게 지정해줘야함(db:3306)

services:
  backend:
    build:
      context: ./back
      dockerfile: Dockerfile
    container_name: backend
    ports:
      - "8000:8000"
    depends_on:
      - db
    environment:
      - DATABASE_URL=${DATABASE_URL}

  frontend:
    build:
      context: ./front
      dockerfile: Dockerfile
    container_name: frontend
    ports:
      - "8080:80"

  db:
    image: mysql:8.0
    container_name: db
    ports:
      - "3307:3306"
    environment:
      MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
      MYSQL_DATABASE: ${MYSQL_DATABASE}
    volumes:
      - db_data:/var/lib/mysql

volumes:
  db_data:
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함