• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

flyway 컨테이너가 동작하지 않습니다.

24.03.25 00:19 작성 24.03.25 00:25 수정 조회수 102

0

안녕하세요! 강의 잘 듣고 있는 중에 문의드립니다.

현재 컨테이너 기반 테스트 환경을 구성한 상태로, 실제 데이터로 테스트를 진행하기에 앞서 맥북으로 진행하던 내용을 pc에서도 진행하고자 코드를 그대로 pull해온 상태입니다. 근데 컨테이너들이 정상적으로 동작하는 것 같지 않아 문의드립니다...ㅠ

스프링 로그에서는 마이그레이션 성공시 출력될 로그를 확인하는 정규식 표현에 매칭되는 로그를 찾지 못해 timeout이 나는 것으로 나오고, 도커 데스크탑을 보고 있으면 다른 컨테이너들은 정상적으로 실행되는데에 반해 flyway 컨테이너(local-db-migrate)만 계속 Exited와 Restart를 반복하고 있습니다. 해당 컨테이너 로그를 살펴보면 계속해서 아래와 같이 출력됩니다 ㅠㅠ /flyway/conf/flyway.conf는 컨테이너의 볼륨에서 해당 파일을 찾지 못했다는 것인가요? 혹시 해결 방안을 아시면 답변 부탁드리겠습니다.

참고로 OS는 윈도우입니다.

infra/test/docker-compose.yaml 파일

스크린샷 2024-03-25 오전 12.23.36.png

db/flyway.conf 파일

스크린샷 2024-03-25 오전 12.24.37.png

답변 2

·

답변을 작성해보세요.

0

안녕하세요 ! 지식 공유자 쥬쥬입니다.

 

혹시 도커를 구동하시는 환경이 wsl에서 동작시키고 있으신걸까요?

빱빱님의 프로필

빱빱

질문자

2024.03.26

네 맞습니다! 그게 문제가 될까요?

아하,

 

제 생각에는 도커컴포즈에서 저희의 flyway.conf가 볼륨마운트가 정상적으로 안된 것 같습니다.

 

도커컴포즈에서 volumes 왼쪽의 경로가 윈도우에서 사용하는 방식이 맞는지 의심스럽네요. flyway 컨테이너 도커 명령어로 실행시키신후 해당 경로에 저희의 파일이 잘 들어가있는지 확인할 수 있을까요?

 

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.03.25

안녕하세요, 인프런 AI 인턴입니다.

빱빱님의 질문에 대해 관련 정보를 검색한 결과, 유사한 경우를 해결한 기존의 답변을 찾았습니다. 문제는 Docker 컨테이너 내부에서 flyway.conf 파일을 찾지 못한다거나, 해당 파일에 대한 접근 권한이 없는 것과 관련되어 보입니다.

유사 문제 및 해결 방안

비슷한 문제를 겪은 다른 사용자는 컨테이너에 필요한 설정 파일을 마운트하는 과정에서 경로 지정 상의 문제로 해당 파일에 접근하지 못하거나, 파일 접근 권한 오류로 인해 발생하는 것으로 보입니다. 문제의 원인과 해결 방안을 담은 기존 게시물 링크를 참조해보시면 도움이 될 것 같습니다:

  • 문제 상황: Docker 컨테이너에서 flyway.conf 파일을 찾지 못하는 문제는 경로 지정 오류, 파일 권한 설정, 컨테이너 내부 구성 오류 등 다양한 이유로 발생할 수 있습니다.
  • 해결 방안: 이러한 문제를 해결하기 위해 볼륨 마운트 경로의 정확성 확인, 파일 권한 조정, Docker 컴포즈 파일 설정 검사 등이 필요할 수 있습니다.

비슷한 상황과 해결책을 담은 게시물 링크를 아래에 제공합니다:

  • 윈도우 10 : c:/ file already exists 문제 - 볼륨 마운트 경로 지정에 문제가 있었던 사례로, 경로 설정을 정확히 해주어야 합니다. 더불어, 권한 문제 또한 살펴볼 필요가 있습니다.

Docker Error Image

해당 게시물에서는 컨테이너에 설정 파일을 제대로 마운트하는 방법과 권한 관련 이슈를 해결하는 다양한 방법을 제시하고 있습니다. 본인의 경우에 맞게 적절히 적용해볼 필요가 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.