내가 만든 간단한 스프링 프로젝트를 도커 이미지에 올리고 실행시켜보기

Terror·2024년 9월 22일
0

간단한 Spring 프로젝트 하나만들기

package org.terror.dockerpractice;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@SpringBootApplication
public class DockerPracticeApplication {

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

    @GetMapping("/")
    public String test() {
        return "이게 되네 !";
    }
}

배포할때는 jar파일을 사용한다

  • 우리가 흔히 로컬컴퓨터에서 서버를 구동시킬떄 저 버튼을 누르지만, 실제 배포환경에서는 서버에서 마련된 jar 파일로 실행된다
  • build 버튼 클릭
  • jar 파일이 생성됨을 확인 할 수 있다

    jar 파일은 이 서버에 대한 모든 내용을 zip 파일같은걸로 묶은걸로 이해하면 된다

  • 명령어로는 ./gradlew build 로도 가능하다

docker File로 만들어보자

  • 루트 디렉토리에 도커파일을 추가하자
  • 그 다음 몇가지 코드를 입력해주자
// 나는 그레이들을 쓸것이고, jdk21버젼을 쓸것이다
FROM gradle:8.6-jdk21

# 6. 빌드된 JAR 파일을 컨테이너로 복사
ARG JAR_FILE=/build/libs/*-SNAPSHOT.jar

//그 복사한 JAR_FILE의 이름을 testdocker.jar 이걸로 하겠다
COPY ${JAR_FILE} /testdocker.jar 

# 7. 애플리케이션을 실행하는 명령어 지정
// Spring Boot를 시작할건데, default=local로 실행시킬거야, testdocker.jar이 파일을
ENTRYPOINT ["java","-jar","-Dspring.profiles.active=default", "/testdocker.jar"]

docker image 만들어보기

// 인텔리제이 터미널에 입력
docker build -t testdocker .

  • 도커 이미지에 잘 올라가져 있는 모습이다
// 이미지에 있는걸 컨테이너로 실행
docker run -d -p 8080 testdocker

  • 로컬 서버는 키지않은상태로, 도커만 켜져있는상태에서, localHost:8080으로 접속해보자
  • (현재 서버가 꺼져있는 모습)
  • 이게되네 ㄹㅇ;;
  • 로컬 포트를 8081로 바꾸고 다시 시도해보아도...?
  • 잘되는 모습이다 (대박;;)

다른 사람이 만들어둔 docker hub에 있는걸 받아와서 사용해보자

# docker hub에 있는거 끌어오기
docker pull happyviva/testdocker


  • 음 잘 들어온 모습이다
  • 실행시켜보면..?
  • 아까와는 다른 글자가 출력되는것을보아, 정상적으로 실행됨을 알 수 있다

끝!

profile
테러대응전문가

0개의 댓글