1.테스트를위해 스프링부트 프로젝트를만듭니다.
2.Create 이후 프로젝트를 내폴더에 저장합니다
"demo"라는 프로젝트명으로 저장하였습니다.
3.Intelli J에서 프로젝트를 열어줍니다.
[파일] - [열기] - [폴더명클릭] 프로젝트 "demo"
4.프로젝트 테스트를 위해 아래 스프링프레임웍에 .web 함수를 import합니다.
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
처음에 .web 부분에서 빨간색 글씨가 나오면서 사용하지못할텐데
bulid.gradle에서 의존성을 추가해주어야 합니다.
아래 추가
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
}
5. 재시작해줍니다.
[무효화 및 다시시작] 클릭
6.재시작 후
demo > src > main > java > com.example.demo > DemoApplication 파일에 아래 Hello World" 코드를 추가합니다.
@GetMapping(value = "/")
public String doGetHelloWorld() {
return "Hello World";
}
@GetMapping(value = "/demo")
public String doGetHelloWorldDemo() {
return "Hello World (Demo)";
}
전체코드
package com.example.demo;
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 DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@GetMapping(value = "/")
public String doGetHelloWorld() {
return "Hello World";
}
@GetMapping(value = "/demo")
public String doGetHelloWorldDemo() {
return "Hello World (Demo)";
}
}
7.결과확인
실행결과 톰갯실행도 정상임 확인
최종결과
프로젝트 폴더로 이동해서 실행
./gradlew clean build
여기서 명령어가 안먹을수있다(gradlew미설치)
다운로드 후 환경변수까지 적용해줘야한다.
(다운로드)
다운로드후 환견변수 설정
Dockerfile만들기
Dockerfile
# OpenJDK 17을 기반으로 하는 경량화 스프링 부트 이미지
FROM openjdk:17-alpine
# 작업 디렉토리 설정
WORKDIR /app
# 빌드된 JAR 파일을 컨테이너에 복사
COPY build/libs/*.jar app.jar
# 컨테이너의 8080 포트를 외부에 노출
EXPOSE 8080
# JAR 파일 실행
ENTRYPOINT ["java", "-jar", "app.jar"]
.dockerignore
# Gradle 캐시 디렉토리
.gradle/
# 빌드 결과물
build/
# IDE 관련 파일
.idea/
*.iml
# 버전 관리 디렉토리
.git/
# 로그 파일
*.log
# OS에서 생성하는 임시 파일
*.swp
*.bak
docker build -t backendtest .
[ec2-user@ip-172-31-0-43 ~]$ sudo yum update -y
sudo yum install docker -y
권한때문에 실행이 안된다 이유는
docker login을 안했기때문에.. 그리고
알고보니 도커허브에 올라온게 없었다
땡겨올 이미지가 없었던것
로컬에서 도커 태그를 붙여준다음
docker tag backendtest jarrydms/backendproject:latest
도커허브로 업로드한다.
docker push jarrydms/backendproject:latest
참고 출처 : https://tychejin.tistory.com/386
https://www.innofactory.net/blog/posts/seanbryu/20231003-spring-helloworld/
'클라우드' 카테고리의 다른 글
[DB] 1단계 MYSQL & DOCKER 마이그레이션 해보기 (0) | 2024.11.16 |
---|---|
[docker compose] 리액트+스프링부트 dockercompose 하기 (1) | 2024.11.15 |