본문 바로가기

도커

쿠버네티스-스프링 파드 만들기

스프링 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