작성
·
153
1
안녕하세요, 강의 6-3을 듣다가 막히는 부분이 있어 질문드립니다.
postgres container를 잘 실행하고 백엔드 컨테이너를 docker run -d -p 80:80 --network leafy-network --name leafy-front devwikirepo/leafy-frontend:1.0.0 명령어를 통해 실행하였습니다. 그런데 이후에 log를 보면 아래와 같은 문구들이 나오면서, 에러가 발생했다고 나옵니다.
(글씨가 너무 작아서, 에러 부분은 아래와 같습니다)
2025-02-28 12:36:54.708 INFO 1 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 526 ms
2025-02-28 12:36:54.731 ERROR 1 --- [ main] o.s.b.web.embedded.tomcat.TomcatStarter : Error starting Tomcat context. Exception: org.springframework.beans.factory.UnsatisfiedDependencyException. Message: Error creating bean with name 'webMvcMetricsFilter' defined in class path resource [org/springframework/boot/actuate/autoconfigure/metrics/web/servlet/WebMvcMetricsAutoConfiguration.class]: Unsatisfied dependency expressed through method 'webMvcMetricsFilter' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'simpleMeterRegistry' defined in class path resource [org/springframework/boot/actuate/autoconfigure/metrics/export/simple/SimpleMetricsExportAutoConfiguration.class]: Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'processorMetrics' defined in class path resource [org/springframework/boot/actuate/autoconfigure/metrics/SystemMetricsAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [io.micrometer.core.instrument.binder.system.ProcessorMetrics]: Factory method 'processorMetrics' threw exception; nested exception is java.lang.NullPointerException
2025-02-28 12:36:54.740 INFO 1 --- [ main] o.apache.catalina.core.StandardService : Stopping service [Tomcat]
2025-02-28 12:36:54.743 WARN 1 --- [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat
2025-02-28 12:36:54.749 INFO 1 --- [ main] ConditionEvaluationReportLoggingListener :
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2025-02-28 12:36:54.757 ERROR 1 --- [ main] o.s.boot.SpringApplication : Application run failed
docker ps -a를 해보면 아래와 같이 로그가 나옵니다.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
df36a2b0896f devwikirepo/leafy-backend:1.0.0 "java -jar leafy.jar" 52 seconds ago Exited (1) 50 seconds ago leafy
9e9ee5a82c36 devwikirepo/leafy-postgres:1.0.0 "docker-entrypoint.s…" 27 minutes ago Up 27 minutes 5432/tcp leafy-postgres\
혹시 어떤 오류이고, 어떻게 해결하면 좋을까요? 감사합니다.
답변 5
0
steven님 안녕하세요. 데브위키입니다.
가장먼저 시도해볼 수 있는 것은 컨테이너를 삭제한 후 다시 실행해 보는 것입니다.
기존 컨테이너 삭제
docker rm -f leafy
새 컨테이너 실행
docker run -d -p 8080:8080 -e DB_URL=leafy-postgres --network leafy-network --name leafy devwikirepo/leafy-backend:1.0.0
만약 문제가 동일할 경우, 데이터베이스 컨테이너가 잘 실행 중인지 확인이 필요합니다.
docker logs leafy-postgres
아래와 같이 로그가 나오는지 확인해보시겠어요?
2025-03-03 14:55:37.562 GMT [1] LOG: listening on IPv4 address "0.0.0.0", port 5432
2025-03-03 14:55:37.562 GMT [1] LOG: listening on IPv6 address "::", port 5432
2025-03-03 14:55:37.563 GMT [1] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2025-03-03 14:55:37.566 GMT [65] LOG: database system was shut down at 2025-03-03 14:55:37 GMT
2025-03-03 14:55:37.572 GMT [1] LOG: database system is ready to accept connections
0
0
참고로 docker inspect leafy-postgres | grep -A 2 "Networks"를 실행하면, 아래가 출력됩니다.
"Networks": {
"leafy-network": {
"IPAMConfig": null,
0
안녕하세요, 인프런 AI 인턴입니다.
steven님, Docker를 사용하여 백엔드 컨테이너를 실행하는 동안 발생한 오류에 대해 질문해주셨군요. 로그 메시지를 보면 Spring Boot 애플리케이션이 시작되지 못하고 UnsatisfiedDependencyException
과 연관된 오류로 인해 Web Server인 Tomcat이 시작되지 않고 있음을 알 수 있습니다. 이러한 유형의 오류는 주로 의존성 주입을 수행하는 과정에서 필요한 빈(bean)이 존재하지 않거나 초기화가 실패해서 발생합니다.
해결책에 대해 몇 가지 제안 드리겠습니다:
의존성 확인:
UnsatisfiedDependencyException
은 특정 의존성이 맞지 않거나 누락되었을 때 발생할 수 있습니다. application.properties 또는 application.yml 파일에서 의존성과 관련된 설정이 제대로 되어 있는지 확인해 주세요.환경 변수 및 설정 확인:
application.properties
설정 파일에서 의존성과 관련된 설정이 잘못되어 있으면 오류가 발생할 수 있습니다. 특히 DB와 관련된 설정(DB URL, 사용자명, 비밀번호 등)을 확인해보세요.필수 Bean 확인:
simpleMeterRegistry
같은 필수적인 bean이 제대로 로드되고 있는지 확인이 필요합니다. Spring Boot가 프로젝트에 정의되지 않은 빈을 필요로 할 수도 있기 때문에, 관련 라이브러리나 의존성을 추가해 보세요.의존성 버전 충돌 확인:
mvn dependency:tree
또는 ./gradlew dependencies
명령어를 사용해 의존성 트리를 확인할 수 있습니다.유사한 질문과 답변으로는 다음을 참고하실 수 있습니다:
위의 링크들을 통해 본인의 상황과 유사한 문제 점검 및 해결 방법을 확인하실 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
6-5에서 springboot연결시에도 동일한 오류가 발생하네요ㅜㅜ