0. Docker 설치
참고 - https://steady-snb.tistory.com/63
1. JDK 다운로드 후 환경변수 설정
각 운영체제에 맞는 jdk를 다운받은 후 환경변수 설정까지 마쳐줍니다.
2. IDE 다운로드
아무 IDE를 다운받아도 무관합니다.
저는 인텔리제이로 하겠습니다.
참고 - https://mozzi-devlog.tistory.com/45
3. MySQL 다운로드
참고 - https://code-angie.tistory.com/158#google_vignette
4. SpringBoot 생성
위 사진을 참고하여 자신만의 project name등을 기입 후
의존성에 Spring Web, MySQL Driver, Spring Data JPA를 추가 후 GENERATE해줍니다.
5. project생성
각자 c드라이브에 위에서 받은 zip파일을 압축 해제 해줍니다.
C:\my-first-project 폴더 하위에 demo라는 폴더와 함께 압축이 풀어졌는데
demo안의 파일들을 끄집어내어 아래 그림과 같이 my-first-proejct 하위에 바로 넣어줍니다.
인텔리제이를 키셔서 아래 그림을 참고하여 프로젝트를 생성해줍니다.
다음은 인텔리제이를 키셔서 project를 생성해줍니다.
위치는 방금 다운로드 받았던 C:\my-first-project 로 설정해줍니다.
name은 자기가 하고싶은 이름을 넣으시면 됩니다.
프로젝트를 처음 열었을 때 모습입니다.
만약 위의 그림과 다르게 뜨는 분들은
폴더 우클릭 후 직접 인텔리제이로 오픈해주시길 바랍니다.
6. setting gradle -> intelliJ IDEA로 변경
프로젝트 우측 상단 File -> Settings ->
Build,Exection,Deployment -> Build Tools -> Gradle
하위 그림과 같이 Build and run부분과 Run tests 부분을 intelliJ로 변경해줍니다.
7. DB연동
7-1 application.yml 이란 파일을 생성해주고
7-2 DB접속정보 명시
위에 생성했던 application-private.yml파일에 밑의 그림과 같이 코드를 적어줍니다(ID및PW는 자신의 것으로 변경)
spring:
datasource:
url: jdbc:mysql://my-db:3306/my-first-project
username: root
password: pwd1234
driver-class-name: com.mysql.cj.jdbc.Driver
8. Controller 생성하기
서버를 올린 후 클라이언트와 서버가 통신할 Controller를 생성해줍니다.
package com.my_first_project.demo;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class AppController {
@GetMapping("/")
public String home() {
return "My first project";
}
}
9. Docker설정
마지막으로 Docker가 실행할 수 있게 설정해주는 파일들을 작성합니다.
9-1 Dockerfile생성
제일 상위폴더에서 New -> File -> Dockerfile(이 파일은 명으로 인식하기 때문에 파일명이 동일해야함.)
FROM openjdk:17-jdk
COPY build/libs/*SNAPSHOT.jar /app.jar
ENTRYPOINT ["java", "-jar", "/app.jar"]
9-2 compose.yml 생성
위와 동일하게
제일 상위폴더에서 New -> File -> compose.yml(이 파일은 명으로 인식하기 때문에 파일명이 동일해야함.)
services:
my-server:
build: .
ports:
- 8080:8080
depends_on:
my-db:
condition: service_healthy
my-db:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: pwd1234
MYSQL_DATABASE: mydb
volumes:
- ./mysql_data:/var/lib/mysql
ports:
- 3306:3306
healthcheck:
test: [ "CMD", "mysqladmin", "ping" ]
interval: 5s
retries: 10
위 코드는 도커에 관한 내용들입니다.
제 블로그에 Docker공부에 관한 내용들을 정리해놓았습니다. 궁금하신 분들은 참고 부탁드립니다.
9-3 test파일 삭제
build시 충동을 일으킬 여지가 있는 파일을 삭제해줍니다.
10. Docker로 이미지를 생성하여 컨테이너로 실행해보기
도커 실행에 필요한 모든 파일들은 준비가 완료되었습니다.
이제 shell이나 terminal을 여셔서
./gradlew clean build
네 성공적으로 build가 된 모습을 볼 수 있습니다.
다음으로 compose파일을 실행시켜줍니다.
docker compose up -d --build
네 성공적으로 서버가 올라간 모습을 볼 수 있습니다.
11. MySQL에 접속해보기
workbench여셔서 새로운 Connection을 만들어줍니다.
아까 DB접속정보 적어줄 때 기입하셨던 username과 pw를 입력해주고 TestConnection을 눌려줍니다.
성공적으로 연결이 되었습니다.
다음으로 localhost:8080으로 접속이 잘 되는지 확인해줍니다.
접속이 잘 되네요 이로써 환경설정은 모두 끝났습니다.
'IT지식 > 첫 번째 사이드 프로젝트' 카테고리의 다른 글
생애 첫 사이드 프로젝트 (0) | 2025.02.09 |
---|