본문 바로가기
Docker

Dockerfile 스프링부트 실행 이미지 만들기

by holy season 2024. 4. 9.
반응형

Dockerfile 생성

먼저 스프링부트 서버를 운영하기 위한 이미지를 빌드해야 한다.

기본적인 이미지는 ubuntu 22.04 버전을 사용하여 환경을 구성하였다.

FROM ubuntu:22.04

# 디렉토리 생성
RUN mkdir -p /home/java
RUN mkdir -p /home/server/jar

# 작업 디렉토리 설정
WORKDIR /home/server/jar

# java 복사
COPY /openjdk-8u342-b07 /home/java/

# jar 복사
COPY /jar/TEST.jar /home/server/jar/TEST.jar

# 환경 변수 설정
ENV JAVA_HOME=/home/java
ENV PATH=$JAVA_HOME/jre/bin:$PATH
ENV CLASSPATH=$CLASSPATH:$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar

ENTRYPOINT ["java", "-jar", "TEST.jar"]

 

Dockerfile에 RUN 명령어와 WORKDIR를 사용하여 기본 작업 디렉토리를 설정하고 java 관련 폴더를 복사한 후 ENV 명령어로 java에 환경변수를 잡아주었다.

ENTRYPOINT 명령어로 컨테이너가 생성되고 실행되었을 때 복사한 스프링부트 jar파일을 실행하도록 이미지를 구성하였다.

 

docker-compose.yml 생성

docker compose로 docker를 관리하기 위해 docker-compose.yml파일을 생성하였다.

services:
  spring_boot:
    build : .
    container_name: test
    environment:
      - TZ=Asia/Seoul
    ports:
      - 8080:8080

기본적으로 spring_boot라는 서비스를 정의하고 만들어둔 Dockerfile을 빌드해서 사용하도록 build옵션(현재는 같은 경로)을 넣어주었고 port를 바인드하기 위해 호스트,컨테이너를 8080으로 맞춰주었다.

반응형

'Docker' 카테고리의 다른 글

Jupyter Notebook 컨테이너 생성  (0) 2024.04.29
Mysql 컨테이너 생성  (0) 2023.12.28
루트 디렉토리 경로 수정  (0) 2023.10.04
Docker Compose로 컨테이너 생성  (0) 2023.09.18
윈도우 Docker 설치  (1) 2023.09.17