programing

프로파일을 사용하여 도커에서 스프링 부트 애플리케이션을 시작하려면 어떻게 해야 합니까?

instargram 2023. 4. 2. 09:43
반응형

프로파일을 사용하여 도커에서 스프링 부트 애플리케이션을 시작하려면 어떻게 해야 합니까?

간단한 스프링 부트 프로젝트가 있습니다.

-resources
 -application.yaml
 -application-test.yaml

그리고 난 이게 있어Dockerfile:

FROM openjdk:8-jdk-alpine
EXPOSE 8080
ADD micro-boot.jar micro-boot.jar
ENTRYPOINT ["java","-Dspring.profiles.active=test" "-jar","/micro-boot.jar"]

1) 이미지를 빌드합니다.C:\micro-boot>docker build -f Dockerfile -t micro-boot .

2) 모든 이미지 표시 -C:\micro-boot>docker image ls -a

micro-boot   latest  ccc9a75ebc24  4 seconds ago 112MB

3) 시작하려고 한다C:\micro-boot>docker image ls -a

에러가 표시됩니다.

/bin/sh: [java,-Dspring.profiles.active=test: not found

3가지 방법이 있습니다.

1. 도커 파일에서 스프링 프로파일 통과

FROM openjdk:8-jre-alpine
...
ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom","-Dspring.profiles.active=test","-jar","app.jar"]

2. 도커 실행 시 스프링 프로파일 통과

docker run -d -p 8080:8080 -e "SPRING_PROFILES_ACTIVE=test" --name my-app:latest

3. Docker에서 스프링 프로필 통과 구성

version: "3.5"
services:
  my-app:
     image: my-app:latest
     ports:
       - "8080:8080" 
     environment:
       - "SPRING_PROFILES_ACTIVE=test"

여기 오타가 있어요.

ENTRYPOINT ["java","-Dspring.profiles.active=test" comma missing here "-jar","/micro-boot.jar"]

언급URL : https://stackoverflow.com/questions/55752013/how-can-i-start-spring-boot-application-in-docker-with-profile

반응형