Docker : Redmineを構築する
Docker で Redmine を構築したいと思う。
環境
- CentOS 7.7
- Docker 19.03.6
- Docker Compose 1.18.0
事前準備
# mkdir docker-redmine
Redmine の設定ファイルを格納するディレクトリを作成する。
# cd docker-redmine # mkdir redmine # mkdir mysql
Redmine のデータが保存されるディレクトリを作成する。
# mkdir redmine_data # mkdir mysql_data
Redmine
このステップは、E-mail の送信をしないならばスキップして良い。
Dockerfile に記載されているredmine:4.1.0-alpine
を後述するdocker-compose.yml
に記載してください。
Dockerfile
Dockerfile を作成する。
# touch redmine/Dockerfile
Dockerfile に下記を追加する。
FROM redmine:4.1.0-alpine COPY ./configuration.yml /usr/src/redmine/config
configuration.yml
configuration.yml を作成する。
# touch redmine/configuration.yml
configuration.yml に下記を追加する(内容は各環境に合わせてください)。
default: email_delivery: delivery_method: :smtp smtp_settings: address: localhost port: 25 domain: redmine.example.com
MySQL
Dockerfile
Dockerfile を作成する。
# touch mysql/Dockerfile
Dockerfile に下記を追加する。
FROM mysql:5.7 COPY ./my.cnf /etc/mysql
my.cnf
my.cnf を作成する。
# touch mysql/my.cnf
my.cnf に下記を追加する。
!includedir /etc/mysql/conf.d/ !includedir /etc/mysql/mysql.conf.d/ [client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqldump] default-character-set=utf8 [mysqld] character-set-server=utf8
Docker Compose
docker-compose.yml を作成する。
# touch docker-compose.yml
docker-compose.yml に下記を追記する。
version: '3' services: redmine: build: ./redmine container_name: redmine restart: always environment: REDMINE_DB_MYSQL: mysql REDMINE_DB_DATABASE: redmine REDMINE_DB_USERNAME: redmine REDMINE_DB_PASSWORD: redmine REDMINE_DB_ENCODING: utf8 REDMINE_SECRET_KEY_BASE: supersecretkey volumes: - ./redmine_data/files:/usr/src/redmine/files - ./redmine_data/log:/usr/src/redmine/log links: - "mysql" ports: - "8160:3000" mysql: build: ./mysql container_name: mysql restart: always environment: MYSQL_ROOT_PASSWORD: P@ssw0rd MYSQL_DATABASE: redmine MYSQL_USER: redmine MYSQL_PASSWORD: redmine volumes: - ./mysql_data:/var/lib/mysql expose: - 3306
コンテナ起動
コンテナを起動する。
# docker-compose up -d
動作確認
ブラウザでhttp://localhost:8160/
へアクセスし、アプリケーションが稼働しているかを確認する。
終わりに
Redmine を Docker で動かすことができた。メールの設定やMySQLの文字コードの問題で、公式イメージをそのまま使えなかったのは残念である。何かもっと良い方法があるのかな?
参考サイト
https://hub.docker.com/_/redmine?tab=description