목차

    불편함을 코드로 지웁니다.

    개발 공부 노트, 개발 도구와 문제를 해결한 과정, AI 프롬프트와 Obsidian 활용법을 정리합니다.

      ⏳ Time Log/TIL · 하루

      [TIL] Day 64 — Spring Boot 4.x 쇼핑몰 프로젝트 시작 + Docker Redmine 구성 (1/19)

      this.Serena 2026. 6. 8. 21:24

      [TIL] Day 64 — Spring Boot 4.x 쇼핑몰 프로젝트 시작 + Docker Redmine 구성 (1/19)

      날짜: 2026-01-19
      기술 스택: Spring Boot Java 21 Gradle MariaDB H2 Docker


      한 줄 요약: Spring Boot 4.0.1 + Gradle 기반 쇼핑몰 프로젝트 환경 세팅 + Docker로 Redmine-MySQL 프로젝트 관리 툴 구성


      Spring Boot 쇼핑몰 프로젝트 환경

      실습 환경 구성 (책과 다른 최신 버전 사용)

      항목 설정값 비고
      Spring Boot 4.0.1 (2026-01-19 기준) 책은 구버전
      Java 21 (LTS)
      빌드 도구 Gradle 책은 Maven
      DB (운영) MariaDB
      DB (테스트) H2 인메모리
      Lombok ✅ 활성화

      부트캠프 DB 로드맵

      단계 DB 기술 스택
      1차 팀프로젝트 Oracle JSP
      강의 MySQL Spring Framework
      2차 프로젝트 MariaDB (메인)
      3차 프로젝트 MongoDB

      IntelliJ 프로젝트 의존성 설정

      Spring Initializr 기준 추가 의존성:

      • Lombok, Thymeleaf, Spring Boot DevTools
      • Spring Web, Spring Data JPA
      • MariaDB Driver, H2 Database
      • Spring Security (보안 처리)

      Docker 네트워크 — Redmine + MySQL 구성

      Redmine은 오픈소스 프로젝트 관리 도구. Docker로 로컬에 빠르게 띄울 수 있음

      1. 네트워크 생성

      docker network create redmine000net2
      docker network ls    # 생성 확인

      2. MySQL 컨테이너 실행

      docker run --name mysql000ex13 -dit \
        --net redmine000net2 \
        -e MYSQL_ROOT_PASSWORD=1234 \
        -e MYSQL_DATABASE=redmine000db \
        -e MYSQL_USER=kun \
        -e MYSQL_PASSWORD=1234 \
        mysql:5.7

      3. Redmine 컨테이너 실행

      docker run -dit --name redmine000ex14 \
        --network redmine000net2 \
        -p 8086:3000 \
        -e REDMINE_DB_MYSQL=mysql000ex13 \
        -e REDMINE_DB_DATABASE=redmine000db \
        -e REDMINE_DB_USERNAME=kun \
        -e REDMINE_DB_PASSWORD=1234 \
        redmine:latest

      4. 동작 확인

      docker ps                          # 컨테이너 실행 확인
      docker logs redmine000ex14         # 초기화 로그 확인

      브라우저에서 http://localhost:8086 접속

      docker run 옵션 정리

      옵션 의미
      -d Detached — 백그라운드 실행
      -i Interactive — 입력 유지
      -t TTY — 터미널 환경
      -p 8086:3000 호스트:8086 → 컨테이너:3000

      더 알아볼 것

      • Spring Boot 4.x vs 3.x 주요 변경사항
      • Gradle vs Maven — 멀티 모듈 프로젝트에서의 차이
      • MariaDB vs MySQL — 실무에서 선택 기준
      • docker logs -f로 실시간 로그 스트리밍
      • Redmine을 팀 프로젝트 이슈 트래킹에 활용하는 방법