Woopii Vyeolog

[Docker] Spring Boot 어플리케이션 이미지 생성 본문

Docker

[Docker] Spring Boot 어플리케이션 이미지 생성

WooPii 2022. 8. 31. 00:30

[참고] spring Boot application을 Docker 이미지로 생성

https://spring.io/guides/gs/spring-boot-docker/

 

Spring Boot with Docker

this guide is designed to get you productive as quickly as possible and using the latest Spring project releases and techniques as recommended by the Spring team

spring.io


0. 필요 사항

 

1. Spring Boot Application 생성

도커 이미지를 생성할 Spring Boot Application을 생성한다.

package com.woopi.project.eurekadiscoveryserver;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication
@EnableEurekaServer
@RestController
public class EurekaDiscoveryServerApplication {

	public static void main(String[] args) {
		SpringApplication.run(EurekaDiscoveryServerApplication.class, args);

		System.out.println("Eureka Discovery Server Start !!!!!");
		System.out.println("Eureka Discovery Server Start !!!!!");
		System.out.println("Eureka Discovery Server Start !!!!!");
	}

	@GetMapping("/api/hello")
	public String Hello () {
		return "Hello Eureka Discovery Server.";
	}
}

 

 

2. jar 파일 생성

mvnw install -DSkipTests

 

3. 생성해둔 VM에 jar파일 업로드

FTP를 통해 VM에 파일 업로드

예 : /home/devops/dockerfiles/jarfiles/eureka-discovery-server-0.0.1.jar

 

4. DockerFile 생성

이미지를 빌드 할 수 있는 Docker파일 생성

예 : /home/devops/dockerfiles/dockerfile-eureka-discovery-server

dockerfile-eureka-discovery-server은 아래와 같은 스크립트를 가지고 있다.

# 베이스 이미지 PULL
FROM adoptopenjdk/openjdk11:alpine
# 로컬 디렉토리의 jar를 컨테이너로 복사
COPY jarfiles/eureka-discovery-server-0.0.1.jar eureka-discovery-server-0.0.1.jar
# 컨테이너 실행 시 수행할 명령어
ENTRYPOINT ["java","-jar","/eureka-discovery-server-0.0.1.jar"]

 

 

5. Dockerfile로 이미지 빌드

docker build -t eureka-discovery-server:1.0 -f dockerfile-eureka-discovery-server .

 

 

6. 빌드한 이미지로 컨테이너 생성

docker run -p 8761:8761 --name=eureka-discovery-server eureka-discovery-server:1.0

 

 

7. 호스트 OS의 브라우저에서 Spring Boot Application 호출

 

 

 

 

 

 

Comments