はじめに
はじめに、docker-composeをつかってredmineを導入したい時がありますよね!!!そんな時の参考にして欲しいです。。。
ファイル構成
docker-composeを用いてredmineを構築する。ボリュームの永続化などをこなうので、最終的なファイル構成について紹介する。
|-docker-compose.yml
|-/redmine
|-files
|-plugins
|-/mysql
|-/data
|-/dockerfiles
|-redmine.Dockerfile
|-mysql.Dockerfile
簡単に説明しておくと、docker-compose.ymlからredmine, mysqlに関するdockerfileを参照する。redmineディレクトリ、mysqlディレクトリは各コンテナで永続化するためのホスト側のディレクトリである。
docker-compose.yml
以下にdocker-compose.ymlを示す。
version: '3'
services:
redmine:
build:
context: .
dockerfile: dockerfiles/redmine.Dockerfile
ports:
- 8080:3000
volumes:
- ./redmine/files:/usr/src/redmine/files
- ./redmine/plugins:/usr/src/redmine/plugins
db:
build:
context: .
dockerfile: dockerfiles/mysql.Dockerfile
volumes:
- ./mysql/data:/var/lib/mysql
- contextではカレントディレクトリの指定を行う。(docker-compose.ymlが存在する位置)
- filesディレクトリはredmineに添付された画像などのファイルを格納する
- pluginsはredmineのプラグインを格納する
dockerfile
以下にredmineコンテナに関するdockerfileを示す。
FROM redmine
RUN apt update && apt install vim -y
ENV REDMINE_DB_MYSQL= db¥
REDMINE_DB_PASSWORD= redmine_pass¥
REDMINE_DB_DATABASE= redmine¥
REDMINE_DB_USERNAME= redmine_user¥
REDMINE_SECRET_KEY_BASE= supersecretkey
- 通常バージョンの指定がない時には最新バージョンが選択される。
以下にmysqlコンテナに関するdockerfileを示す。
FROM: mysql:8.0
ENV: MYSQL_ROOT_PASSWORD= root_password¥
MYSQL_DATABASE= redmine¥
MYSQL_USER= redmine_user¥
MYSQL_PASSWORD= redmine_pass
コンテナのビルド
では、docker-compose.ymlファイルが存在する階層をカレントディレクトリに設定して以下コマンドを実行
docker-compose up -d -build
確認
ブラウザで http://ip:8080 と指定して以下のようになればOK