
레드마인은 프로젝트 관리 및 티켓 시스템으로 널리 사용되는 소프트웨어입니다. 본 포스트에서는 레드마인과 MariaDB를 Docker 컨테이너에서 연동하는 방법을 자세히 설명하겠습니다.
레드마인 소개
레드마인은 다양한 업무를 관리할 수 있는 강력한 도구로, 팀의 작업을 효과적으로 추적하고 관리할 수 있도록 도와줍니다. 웹 기반 애플리케이션으로, 사용자는 티켓을 생성하고, 상태를 업데이트하며, 팀원들과의 협업을 통해 업무를 진행할 수 있습니다.
레드마인의 주요 기능
- 이슈 추적 및 관리: 버그, 기능 요청, 작업 등을 체계적으로 관리
- 프로젝트 관리: 다중 프로젝트 지원 및 계층적 프로젝트 구조
- 시간 추적: 작업 시간 기록 및 보고서 생성
- 위키 및 문서 관리: 프로젝트 문서화 및 지식 공유
- 간트 차트: 프로젝트 일정 시각화
- 사용자 권한 관리: 역할 기반 접근 제어
네트워크 생성
레드마인과 MariaDB 컨테이너가 통신할 수 있도록 Docker 네트워크를 생성합니다. 아래 명령어를 사용하여 redminenet라는 이름의 네트워크를 생성합니다:
docker network create redminenet이 명령어를 실행하면 다음과 같은 출력이 나타납니다:
3de68c6f5445fb2afe41f0064c5ff4cd75b4bba72104fc02d55f4d0978fa4910네트워크가 성공적으로 생성되었는지 확인하려면 다음 명령어를 사용합니다:
docker network ls출력 결과:
NETWORK ID NAME DRIVER SCOPE
d028c4245678 bridge bridge local
c30ea96f3f05 host host local
f425b0135de3 none null local
3de68c6f5445 redminenet bridge local출력 결과에서 redminenet이 포함된 것을 확인할 수 있습니다.
MariaDB 컨테이너 생성 및 실행
이제 MariaDB 컨테이너를 생성하고 실행합니다. 아래 명령어를 사용합니다:
docker run --name mariadb001 -dit --net=redminenet -p 33060:3306 \
-e MYSQL_ROOT_PASSWORD=admin123 \
-e MYSQL_DATABASE=redminedb \
-e MYSQL_USER=redmine \
-e MYSQL_PASSWORD=redminepw mariadb \
--character-set-server=utf8mb4 \
--collation-server=utf8mb4_unicode_ci \
--default-authentication-plugin=mysql_native_password실행 결과:
Unable to find image 'mariadb:latest' locally
latest: Pulling from library/mariadb
8bb55f067777: Pull complete
8410d55eb77c: Pull complete
24c84580ff96: Pull complete
bd1171ed6095: Pull complete
5df637411ef1: Pull complete
033a5155e996: Pull complete
8b8e1299a1e9: Pull complete
4ca4fe05a5b4: Pull complete
Digest: sha256:a9547599cd87d7242435aea6fda22a9d83e2c06d16c658ef70d2868b3d3f6a80
Status: Downloaded newer image for mariadb:latestMariaDB 환경 변수 설명
위 명령어에서 설정한 내용은 다음과 같습니다:
| MYSQL_ROOT_PASSWORD | MariaDB의 루트 비밀번호를 설정합니다 |
| MYSQL_DATABASE | 생성할 데이터베이스의 이름을 지정합니다 |
| MYSQL_USER | 데이터베이스에 접근할 사용자 이름을 설정합니다 |
| MYSQL_PASSWORD | 해당 사용자의 비밀번호를 설정합니다 |
명령어 실행 시 MariaDB 이미지를 찾지 못하면 자동으로 다운로드됩니다.
레드마인 컨테이너 생성 및 실행
이제 레드마인 컨테이너를 생성하고 실행합니다. 아래 명령어를 사용합니다:
docker run --name redmine001 -dit --network redminenet -p 8888:3000 \
-e REDMINE_DB_MYSQL=mariadb001 \
-e REDMINE_DB_DATABASE=redminedb \
-e REDMINE_DB_USERNAME=redmine \
-e REDMINE_DB_PASSWORD=redminepw redmine실행 결과:
Unable to find image 'redmine:latest' locally
latest: Pulling from library/redmine
7ce705000c39: Already exists
df7b0e6036e7: Pull complete
584160467417: Pull complete
16c8c1c53139: Pull complete
03e28f426cd9: Pull complete
02cb6e11f220: Pull complete
a64bcfe0d96b: Pull complete
cb40df7cc416: Pull complete
faa4ef062f1d: Pull complete
3cfa8ef2398b: Pull complete
d31b520d96b8: Pull complete
0f6b4b4dc185: Pull complete
beeb6f2b78ac: Pull complete
Digest: sha256:a803d085f112f3a950111f253d1e8d68f4323114e9abea6f8ffa022c1c487610
Status: Downloaded newer image for redmine:latest레드마인 환경 변수 설명
여기서 설정한 내용은 다음과 같습니다:
| REDMINE_DB_MYSQL | MariaDB 컨테이너의 이름을 지정합니다 |
| REDMINE_DB_DATABASE | 사용할 데이터베이스의 이름을 설정합니다 |
| REDMINE_DB_USERNAME | MariaDB에 접근할 사용자 이름을 설정합니다 |
| REDMINE_DB_PASSWORD | 해당 사용자의 비밀번호를 설정합니다 |
레드마인 이미지를 찾지 못하면 자동으로 다운로드됩니다.
컨테이너 상태 확인 및 접속
컨테이너 상태 확인
docker ps -a출력 예시:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9802c4eb8a5a redmine "/docker-entrypoint.…" 2 minutes ago Up 2 minutes 0.0.0.0:8888->3000/tcp redmine001
2287fb2c0b35 mariadb "docker-entrypoint.s…" 5 minutes ago Up 5 minutes 0.0.0.0:33060->3306/tcp mariadb001레드마인 웹 인터페이스 접속
브라우저에서 http://localhost:8888로 접속하여 레드마인 초기 설정을 진행합니다.
기본 관리자 계정:
- 사용자명: admin
- 비밀번호: admin
초기 설정 과정
- 관리자 계정으로 로그인
- 관리 > 설정에서 기본 설정 구성
- 프로젝트 생성 및 사용자 추가
- 워크플로우 및 이슈 유형 설정
사용하지 않는 리소스 정리
컨테이너와 이미지를 사용한 후에는 필요 없는 리소스를 정리하는 것이 좋습니다. 다음 명령어를 사용하여 사용하지 않는 이미지와 컨테이너, 네트워크를 정리할 수 있습니다:
docker system prune실행 결과:
WARNING! This will remove:
- all stopped containers
- all networks not used by at least one container
- all dangling images
- all dangling build cache
Are you sure you want to continue? [y/N] y이 명령어는 사용하지 않는 모든 리소스를 정리하므로, 주의하여 사용해야 합니다.
선택적 정리 명령어
# 컨테이너만 정리
docker container prune
# 이미지만 정리
docker image prune
# 네트워크만 정리
docker network prune
# 볼륨만 정리
docker volume pruneDocker Compose를 활용한 개선된 방법
docker-compose.yml 파일 작성
version: '3.8'
services:
mariadb:
image: mariadb:latest
container_name: mariadb001
restart: always
environment:
MYSQL_ROOT_PASSWORD: admin123
MYSQL_DATABASE: redminedb
MYSQL_USER: redmine
MYSQL_PASSWORD: redminepw
command: >
--character-set-server=utf8mb4
--collation-server=utf8mb4_unicode_ci
--default-authentication-plugin=mysql_native_password
volumes:
- mariadb_data:/var/lib/mysql
networks:
- redminenet
redmine:
image: redmine:latest
container_name: redmine001
restart: always
ports:
- "8888:3000"
environment:
REDMINE_DB_MYSQL: mariadb001
REDMINE_DB_DATABASE: redminedb
REDMINE_DB_USERNAME: redmine
REDMINE_DB_PASSWORD: redminepw
volumes:
- redmine_data:/usr/src/redmine/files
- redmine_plugins:/usr/src/redmine/plugins
networks:
- redminenet
depends_on:
- mariadb
volumes:
mariadb_data:
redmine_data:
redmine_plugins:
networks:
redminenet:
driver: bridgeDocker Compose 실행
# 서비스 시작
docker-compose up -d
# 로그 확인
docker-compose logs -f
# 서비스 중지
docker-compose down
# 볼륨까지 삭제
docker-compose down -v결론
이제 레드마인과 MariaDB 컨테이너가 성공적으로 연동되었습니다. 이러한 설정을 통해 프로젝트 관리 및 업무 추적을 효율적으로 수행할 수 있습니다.
핵심 포인트:
- 커스텀 네트워크 생성을 통한 컨테이너 간 안전한 통신
- 환경 변수 설정으로 데이터베이스 연결 자동화
- 볼륨 마운트 활용으로 데이터 영속성 보장
- Docker Compose 활용으로 다중 컨테이너 관리 자동화
- 정기적인 리소스 정리를 통한 시스템 최적화
Docker를 활용한 레드마인 구축을 통해 팀의 프로젝트 관리 효율성을 크게 향상시킬 수 있으며, 컨테이너 기술의 장점을 최대한 활용하여 안정적이고 확장 가능한 프로젝트 관리 환경을 구축할 수 있습니다.
'IT기술 > 도커 (docker)' 카테고리의 다른 글
| Docker 컨테이너와 호스트 간 파일 복사 완벽 가이드: 효율적인 파일 관리 방법 (4) | 2025.07.09 |
|---|---|
| RKE2 Containerd 완벽 가이드: 차세대 컨테이너 런타임의 핵심 장점과 실전 활용법 (2) | 2025.07.09 |
| Docker 컨테이너 오케스트레이션 완벽 가이드: 대규모 컨테이너 관리의 핵심 기술 (0) | 2025.07.08 |
| Docker 다중 컨테이너 연동 완벽 가이드: WordPress와 MySQL 구축하기 (2) | 2025.07.07 |
| Docker WordPress와 MySQL 연동 완벽 가이드: 컨테이너 기반 웹사이트 구축 (2) | 2025.07.06 |