[Docker] "docker-compose.yaml 파일을 찾을 수 없음" 오류 해결

Eunbi Lee·2024년 4월 5일

MDP

목록 보기
1/6
post-thumbnail

MyDreamPartner, 이하 MDP 프로젝트 진행 중

1. Situation

spring.io를 통해 도커 컴포즈를 써볼까? 하고, 다음과 같이 의존성을 주입 받아서 사용 중이었다.

developmentOnly 'org.springframework.boot:spring-boot-docker-compose'

그리고, spring application을 실행하자 자동으로 프로젝트의 경로에 compose.yaml파일이 생긴 것을 확인할 수 있었다.

이후, 무심코 compose.yaml 파일을 docker라는 폴더를 만든 후, 해당 폴더에 넣어줬다.

그리고, spring application을 실행하니 파일을 못찾는 상황이 발생했다.

2. Task

목표

compose.yaml 파일의 경로가 바뀌어도, spring application 실행 시 정상적으로 compose.yaml 파일을 인식하도록 하는 것

가정

  1. docker 폴더를 만든 것뿐만 아니라, 전체적으로 패키지의 구조를 변경했기 때문에 경로를 인식 못했다.

  2. compose.yaml 파일의 위치가 새로 생성한 docker 폴더의 아래로 변경되었기 때문에, 인식할 수 없었다.

결과적으로, 로그를 자세히 보니 `Could not found compose.yaml .. '이라는 내용이 있었기 때문에, 2번으로 생각했다.

3. Action

확인을 위해 docker 폴더 내에서 .yaml 파일을 빼서, 원래 경로에서 실행시키니 정상적으로 컴포즈 및 컨테이너가 실행되었다.

따라서 2번이 원인이 맞았다!

그런데, 2번인 것까지는 알았지만 여기서부터 생각이 멈췄다.

docker compsoe 의존성을 주입받아서, 자동으로 생긴 파일인데.. 스프링에서 컴포즈를 인식하는 경로를 어떻게 확인하지? 싶었다.

따라서 온갖 서칭을 하면서 build.gradle 파일에 compose 관련 메서드를 추가해보기도 하고 했지만, 해결되진 않았다.

해결

결국, 주변 지인 분께 아이디어를 받아서 해결할 수 있었다.

공식 문서 내용 중, 아래 내용을 확인할 수 있다!

즉, application.yaml에 컴포즈 파일이 위치한 경로를 명시하면 된다는 것

4. Result

따라서 위와 같이 명시해준 결과, 해결할 수 있었다..

도움을 주신 독커노인 경태님께 감사할 따름이다. 🧚‍♀️

profile
안녕하세요, 개발자 비비입니다.

0개의 댓글