스프링 initializer로 스프링 프로젝트를 하나 만든다.
만든 이후에 api를 하나 만든다.
package com.example.demo;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class AppController {
@GetMapping("/")
public String Home(){
return "hello world";
}
}
이걸 실행하면 8080에서 실행이 된다.
이걸 도커파일로 만든다.
FROM openjdk:17-jdk
COPY build/libs/*SNAPSHOT.jar app.jar
ENTRYPOINT ["java", "-jar", "/app.jar"]
spring boot 프로젝트 빌드하기
./gradlew clean build
docker build -t spring-server .
도커 이미지를 만든다.
이미지가 잘 생성되었는지 확인
docker image ls
매티패스트 파일 만들기 spring-pod.yaml
apiVersion: v1
kind: Pod
metadata:
name: spring-pod
spec:
containers:
- name: spring-container
image: spring-server
ports:
- containerPort: 8080
imagePullPolicy: IfNotPresent
ifnotpresent를 넣어야함
도커 파일을 로컬에서 가져오도록 하기
kubectl apply -f spring-pod.yaml
kubectl get pods
로 확인해보면 된다.

이걸 밖에서 포트포워딩하려면
kubectl port-forward pod/spring-pod 12345:8080

'도커' 카테고리의 다른 글
| 쿠버네티스-html,css, nextjs 파드로 띄우기 (0) | 2025.05.14 |
|---|---|
| 쿠버네티스-nestjs 파드 만들기 (0) | 2025.05.11 |
| 쿠버네티스-쿠버네티스 설치 및 nginx를 파드로 띄우기 (1) | 2025.05.11 |
| 다수의 컨테이너 다루기 (1) | 2024.11.17 |
| 도커 Volume 사용해보기 (0) | 2024.11.17 |