인프런 커뮤니티 질문&답변

김건님의 프로필 이미지

작성한 질문수

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

08-06 Docker 패키징

도커 mysql 연결 안되는 문제

해결된 질문

작성

·

716

0

[section27]
08-06 도커 패키징 강의 관련 내용입니다.

강의대로 똑같이 세팅하고 진행해보니, 빌드까지는 잘되지만 실행할 때 데이터베이스와 연결이 안되는 문제가 생깁니다.

Unable to connect to the database, Retrying... 에러가 뜨는데, 강의에서 말씀하셨듯이 데이터베이스 서버가 늦게 켜지는 문제라고 생각하고 계속 시도해도 똑같이 연결이 안됩니다.

세부 에러메시지가 다른 걸 보니 다른 문제같은데, 구글링해서 mysql 세팅도 바꿔보고 코드도 바꿔보고 이것저것 다 해봤는데 안돼서 이렇게 질문 남깁니다.화면 캡처 2023-05-14 182542.png

답변 1

0

노원두님의 프로필 이미지
노원두
지식공유자

안녕하세요! 님!

데이터베이스가 아직 실행되지 않거나, 접속하기 어려운 상황인 경우 아래와 같은 에러 메시지를 확인하실 수 있습니다.
image
따라서, 건님이 올려주신 에러 메시지는 데이터베이스가 늦에 실행되서 접속되는 문제는 아닐 수 있어요!
해당 문제는 버전문제로 의심됩니다.

도커에서 실행중인 mysql 데이터베이스의 버전과 이를 연결하기 위해 백엔드에서 설치한 typeorm, mysql2 의 버전 문제를 의심해 볼 수 있습니다!

package.json에서 다음과 같이 시도해 보세요!

1. typeorm과 mysql 버전을 변경합니다.

    "dependencies": {
        ...,
        "typeorm": "0.3.12",
        "mysql2": "3.2.0"
    }

 

2. 이미 설치되어있는 node_modules나 dist 폴더가 있다면 삭제해 주세요.

3. 아래의 명령으로 docker를 모두 중지 및 삭제해 주세요.

docker-compose stop
docker-compose down


4. 다시 docker를 빌드하고 실행합니다.

docker-compose build
docker-compose up


만약 해당 버전으로 해결이 되지 않는다면, docker 내의 mysql 버전도 mysql:latest가 아닌 임의의 버전을 지정하여 동작시켜 보세요!

김건님의 프로필 이미지

작성한 질문수

질문하기