도커 합성으로 실행되는 스프링 부트 애플리케이션에 액세스할 수 없음
스프링부츠와 mariadb로 구성된 간단한 어플이 있습니다.OS는 mac OS이며 IDE로 IntelliJ를 사용합니다.스프링 앱용 도커 파일은 아래와 같습니다.
FROM openjdk:14-jdk-alpine
RUN mkdir /app
WORKDIR /app
VOLUME /app
ENV JAR_TARGET "my_app-0.0.1-SNAPSHOT.jar"
ENTRYPOINT ["sh","-c","java -jar ./build/libs/${JAR_TARGET}"]
그리고 위의 Docker 파일을 참조하는 Docker-compose.yml은 다음과 같습니다.
version: "3.3"
services:
app:
build: docker/.
ports:
- "8080:8080"
volumes:
- .:/app
depends_on:
- db
environment:
spring.datasource.driverClassName: "org.mariadb.jdbc.Driver"
spring.datasource.url: "jdbc:mariadb://db:3306/my_app_db"
spring.datasource.username: "user"
spring.datasource.password: "password"
server.port: 8080
server.address: 127.0.0.1
db:
image: mariadb
ports:
- "3306:3306"
environment:
- MYSQL_DATABASE=my_app_db
- MYSQL_USER=user
- MYSQL_PASSWORD=password
- MYSQL_ROOT_PASSWORD=rootpassword,
명령을 입력하여docker-compose up --build터미널에 도커 부트가 실행되기 시작하고 봄 부트 앱 "my_app"도 로그와 함께 실행되는 것 같습니다.... Started MyAppApplicationKt in 25.161 seconds (JVM running for 27.301).
하지만, 내가 그 봄 앱에 접속하려고 할 때, 전화로.http://localhost:8080/api응답하지 않습니다.예를 들어, 내가 할 때.curl주소를 사용하면 매번 시간이 초과됩니다.IP로 확인했습니다.127.0.0.1마찬가지입니다. 하지만 결과는 똑같습니다. 응답하지 않습니다.
내가 봤을 때docker container psspring app과 mariadb 둘 다 아래와 같이 성공적으로 실행되고 있는 것처럼 보입니다.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b6abb2d330d9 my_app "sh -c 'java -jar -D…" 5 minutes ago Up 5 minutes 0.0.0.0:8080->8080/tcp my_app_1
fb3b3cad20ad mariadb "docker-entrypoint.s…" 17 minutes ago Up 5 minutes 0.0.0.0:3306->3306/tcp my_app_db_1
내가 도달했을 때 왜 이 봄 앱이 응답하지 않는지 이해할 수 없습니다.http://localhost:8080/api어떤 도움이라도 주시면 정말 감사하겠습니다.읽어주셔서 감사합니다!
David Maze의 논평은 제 문제를 해결했습니다.도커 컨테이너가 수신 대기 중이 아님127.0.0.1내부 프로세스 주소를 설정했기 때문입니다.127.0.0.1나는 변했어요server.address도커-docker.yml에서 ~까지0.0.0.0그리고 그것은 듣기 시작했습니다.127.0.0.1외부 접근을 위한모든 댓글, 특히 나를 구해준 데이비드에게 정말 감사합니다!
언급URL : https://stackoverflow.com/questions/66133146/cannot-access-to-spring-boot-application-running-with-docker-compose
'programing' 카테고리의 다른 글
| Spring Boot 2.3.0 - MongoDB 라이브러리가 인덱스를 자동으로 생성하지 않음 (0) | 2023.07.03 |
|---|---|
| r을 사용한 폴더 관리 : 디렉터리가 있는지 확인하고 없으면 만듭니다. (0) | 2023.07.03 |
| 루비 보석 업그레이드 방법 (0) | 2023.07.03 |
| Pylint가 NumPy 멤버를 인식하도록 하려면 어떻게 해야 합니까? (0) | 2023.07.03 |
| VBA를 사용하여 Excel 파일에서 jpg로 사진 내보내기 (0) | 2023.07.03 |