본문 바로가기

리눅스

[리눅스] Spring Boot 프로젝트 생성, Dockerfile로 이미지 생성 및 빌드

728x90

Spring Boot 프로젝트 생성, Dockerfile로 이미지 생성 및 빌드

Spring Boot 프로젝트  생성

VSCODE - F1 누르면 커맨드 팔레트(Command palette)

1. 프로젝트 생성(Gradle) : Spring Initializr: Create a Gradle Project

2. 스프링 부트 버전 선택 : 2.6.7

3. 프로젝트 언어 선택 : Java

4. Group Id 입력 : com.example

5. Artifact Id 입력 : demo

6. 패키지 타입 선택 : Jar

7. Jave 버전 선택 : 11

8. 의존성 설정 : Spring Boot DevTools, Spring Web, Lombok

디렉토리 구조

DemoApplication.java 편집

vim demo/src/main/java/com/example/demo/DemoApplication.java
package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)
public class DemoApplication {

	@RequestMapping("/")
	String home() {
		return "Hello World!";
	}
	public static void main(String[] args) {
		SpringApplication.run(DemoApplication.class, args);
	}
}

VSCODE - F5 누르면 서버가 실행됩니다.

빌드

gradlew jar

./gradlew jar
./gradlew jar

BUILD SUCCESSFUL in 5s
3 actionable tasks: 3 executed

ls -l build/libs/*.jar
-rw-r--r--  1 staff  staff  1590  5  9 17:17 build/libs/demo-0.0.1-SNAPSHOT-plain.jar

gradlew bootJar

./gradlew bootJar
./gradlew bootJar

BUILD SUCCESSFUL in 2s
4 actionable tasks: 2 executed, 2 up-to-date

Dockerfile로 이미지 생성 및 빌드

Dockerfile 파일 생성

vim Dockerfile
FROM adoptopenjdk/openjdk11

ARG JAR_FILE_PATH=demo/build/libs/*.jar

COPY ${JAR_FILE_PATH} app.jar

EXPOSE 8080

ENTRYPOINT ["java","-jar","/app.jar"]

도커 빌드

docker build --tag anti1346/docker-springboot .

도커 컨테이너 실행

docker run -p 8080:8080 anti1346/docker-springboot

curl 테스트

curl localhost:8080
$ curl localhost:8080
Hello World!

 

728x90