
이번엔 도커를 통해 간단한 스프링 부트 프로젝트를 생성해서 도커를 통해
프로젝트를 실행시켜 보도록 하겠습니다.
일단 도커란 쉽게 설명 하자면 어떠한 프로젝트를 그 어떤 툴이나 프로그램을 깔지 않고 오로지
도커만으로 프로젝트를 실행시킬 수 있는 컨테이너 기반 가상화 플랫폼 입니다.
일단 도커로 서버를 실행시키기 위해 프로젝트를 하나 만들어주겠습니다.
https://github.com/TAEWOOKK/backjun.git
이 프로젝트에 대한 간단한 설명을 드리자면 일단
MainController
@RestController
public class MainController {
@GetMapping("/")
public String Main() {
return "Hello World2"; }
}
yml 파일
server:
port: 8081
build.gradle
plugins {
id 'java'
id 'org.springframework.boot' version '3.3.4'
id 'io.spring.dependency-management' version '1.1.6'
}
group = 'com.example'
version = '0.0.1-SNAPSHOT'
java {
toolchain {
languageVersion = JavaLanguageVersion.of(21)
}
}
bootJar {
archiveFileName = 'docker_test.jar'
}
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
}
tasks.named('test') {
useJUnitPlatform()
}
이런식으로 간단하게 서버를 만들어 보았다.
이제 이 서버를 도커가 원할하게 읽을 수 있게 Dockerfile 을 생성해준다.
Dockerfile
# Dockerfile
FROM openjdk:21-jdk
ARG JAR_FILE=build/libs/*.jar
COPY ${JAR_FILE} ./docker_test.jar
EXPOSE 8081
ENTRYPOINT ["java", "-jar", "/docker_test.jar"]
의미
FROM openjdk:21-jdk
- Docker 이미지를 생성할 때 사용할 기본 이미지를 지정합니다.
ARG JAR_FILE=build/libs/*.jar
- Docker 빌드에서 사용할 수 있는 변수를 정의합니다.
COPY ${JAR_FILE} ./docker_test.jar
- 호스트 시스템의 파일을 Docker 이미지로 복사합니다.
EXPOSE 8081
- 컨테이너가 사용할 포트를 지정합니다.(문서상의 의미만을 가짐)
ENTRYPOINT ["java", "-jar", "/docker_test.jar"]
- 컨테이너가 시작될 때 실행할 명령을 지정합니다.
이렇게 Dockerfile 을 생성해 줬다면 이제 bootJar 를 통해 jar 파일을 생성해 주면 됩니다.

그렇게 Build Succesful 이 뜬다면 사진의 위치에 성공적으로 .jar 파일이 생성된 걸 확인 하실 수 있습니다.

이 다음 편에서 Docker Desktop을 설치하고 도커이미지 등록 후 서버를 실행해보도록 하겠습니다!
'Docker' 카테고리의 다른 글
SpringBoot + docker 를 통한 서버 실행(3) (0) | 2024.09.26 |
---|---|
SpringBoot + docker 를 통한 서버 실행(2) (1) | 2024.09.24 |