목차

    ⏳ Time Log/1. One Day (Daily · 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을 팀 프로젝트 이슈 트래킹에 활용하는 방법