📌 환경 설정
공식 문서 : ( https://spring.io/guides/gs/spring-boot-docker/ )
공식 예제 : ( https://github.com/spring-guides/gs-spring-boot-docker )
해당 github에서 코드를 clone한다.
complete 폴더로 이동한다.
./gradlew build
cd libs > build
java -jar ~.jar
📌 예제 실행
🔖 Dockerfile
FROM openjdk:8-jdk-alpine
RUN addgroup -S spring && adduser -S spring -G spring
USER spring:spring
ARG DEPENDENCY=target/dependency
COPY ${DEPENDENCY}/BOOT-INF/lib /app/lib
COPY ${DEPENDENCY}/META-INF /app/META-INF
COPY ${DEPENDENCY}/BOOT-INF/classes /app
ENTRYPOINT ["java","-cp","app:app/lib/*","hello.Application"]
현재 위처럼 파일이 세팅돼있다.
위의 Spring 공식 문서를 들어가보면 3가지 버전이 명시돼있다.
위는 마지막 경우이며, jar파일을 다른 폴더로 복사해서 압축을 해제한 다음에 실행시키는 예제이다.
가장 간단한 방법으로 실행해보자.
🔖 Dockerfile
FROM openjdk:8-jdk-alpine
ARG JAR_FILE=build/libs/*.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
공식예제에서는 2번째 줄이 ARG JAR_FILE=target/*.jar 로 돼 있는데, 이는 maven 설정이라서 그렇다. build/libs로 바꿔주자.
🔖java 11
FROM openjdk:11-jre-slim
ARG JAR_FILE=build/libs/*.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
CMD java -jar app.jar
complete 폴더로 이동후 아래 명령어 실행한다.
docker build --build-arg JAR_FILE=build/libs/\*.jar -t springio/gs-spring-boot-docker .
이미지를 만들어주었으니, 실행해 주자.
docker run -p 8080:8080 springio/gs-spring-boot-docker
reference
아래 유투브 영상 참조
( https://www.youtube.com/watch?v=HXgHgYRr3eY )
'devops > Docker 강좌📌인프런' 카테고리의 다른 글
생활코딩 도커강좌 #4 - Docker compose (0) | 2022.03.08 |
---|---|
생활코딩 도커강좌 #3 - 이미지 공유 (0) | 2022.02.28 |
생활코딩 도커 강좌 #2 -이미지 만들기 (0) | 2022.02.28 |
생활코딩 도커 강좌 #1 - 기본 (0) | 2022.02.03 |
댓글