728x90
1. Jar 생성
build -> boo.Jar 로 Jar파일을 생성해준다.
boot.jar 실행하면 /build/libs/ 안에 프로젝트이름-0.0.1-SNAPSHOT.Jar 파일이 생성된다.
2. Dockerfile 만들기
FROM openjdk:17-alpine
ARG JAR_FILE=*.jar
COPY ${JAR_FILE} app.jar
COPY ./config/application.properties /src/main/resources/
ENTRYPOINT ["java", "-jar", "/app.jar", "--spring.config.location=file:/src/main/resources/application.properties"]
FROM : Docker Image 생성 시에 기반이 되는 이미지. (JDK 버전 명시)
ARG : 컨테이너 내에서 사용하는 변수를 지정한다. (즉, JAR_FILE이란 변수를 선언하고 초기화시켜주는 과정)
COPY : JAR_FILE을 컨테이너 내부의 app.jar로 복사한다.
COPY : 필자는 외부에 application.properties파일을 두었기 때문에 이미지를 빌드 할때 JAR파일에 복사한다.
ENTRYPOINT : 컨테이너 시작 시에 실행되는 스크립트 application.properties 파일을 지정해준다
3. Dockerfile build 하기
docker build -t springapp Dockerfile경로
docker build -t springapp .
맨뒤엔 도커파일이 있는 경로를 입력해준다.
예제의 . 은 현재 경로를 의미한다.
build 하면 이미지가 생성된다.
docker images
4.Docker 이미지 Run
docker run --name 컨테이너이름 -p 8080:8080 이미지이름
docker run --name takeiteasyapp -p 8080:8080 springapp
컨테이너 실행 완료.
728x90
'개-발 > Infra' 카테고리의 다른 글
[Docker + NginX + Jenkins] Spring 프로젝트 Blue,Green 무중단 배포 CI CD 2/2 (2) | 2023.12.03 |
---|---|
[Docker + NginX + Jenkins] Spring 프로젝트 Blue,Green 무중단 배포 CI CD 1/2 (2) | 2023.11.28 |
[NginX] docker NginX (NPM) 역방향프록시 설정 NAS 2 (1) | 2023.11.25 |
[NginX] docker NginX (NPM) 역방향프록시 개념과 설정 NAS 1 (0) | 2023.11.24 |
[Elastic] 유저 추가 (0) | 2023.06.17 |