LoginSignup
6
9

More than 5 years have passed since last update.

Docker でRedmine コンテナを使ってみるの巻

Posted at

目的

コンテナとして、Redmine を作成した際のつまずきを共有

前提

CentOS Linux release 7.X 上にDocker を導入済み
※導入の手順は、以下のサイト参照
 https://ic8ghatake.wordpress.com/2017/09/08/docker-%e3%81%a7redmine-%e3%82%b3%e3%83%b3%e3%83%86%e3%83%8a%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%8b%e3%81%ae%e5%b7%bb/

下のサイトの転載
ic8ghatake.wordpress.com/2017/09/08/docker-%e3%81%a7redmine-%e3%82%b3%e3%83%b3%e3%83%86%e3%83%8a%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%8b%e3%81%ae%e5%b7%bb/

構築

下のサイトを参照

やったとこだけ抜粋

ディレクトリ作成
mkdir redmine_plugin_of_yours/

作成したディレクトリに移動
cd redmine_plugin_of_yours/

docker-compose 設定ファイル作成
vi docker-compose.yml

docker-compose.yml
version: "2"
services:
  app:
    image: sameersbn/redmine
    environment:
      - DB_HOST=db
      - DB_NAME=redmine_production
      - DB_USER=root
      - DB_PASS=root
    links:
      - db
    depends_on:
      - db
    ports:
      - 8080:80
    volumes:
      - ./:/home/redmine/redmine/plugins/redmine_plugin_of_yours/
  db:
    image: mysql
    command: mysqld --character-set-server=utf8 --collation-server=utf8_unicode_ci
    environment:
      - MYSQL_ROOT_PASSWORD=root
      - MYSQL_DATABASE=redmine_production

起動

docker-compose up -d

5分後に

x.x.x.x:8080 でアクセス出来ました

PW の再設定、管理者設定をして、デフォルトの設定をロードして完了。

※Redmine の初期ログインID/PW (admin/admin)

Tips

Redmine の設定を行っていると下のエラーが発生

Internal error

An error occurred on the page you were trying to access.
If you continue to experience problems please contact your Redmine administrator for assistance.

If you are the Redmine administrator, check your log files for details about the error.

どうも日本語の入力はハジかれるようだ。

調べてみると下のページにいきつく。

デフォルト設定をロードしていなかったので、実施。

管理 > 「デフォルト設定をロード」

するとエラーが、、、

デフォルト設定がロードできませんでした: Mysql2::Error: Incorrect string value: '\xE7\xAE\xA1\xE7\x90\x86...' for column 'name' at row 1: INSERT INTO roles (name, issues_visibility, position) VALUES ('管理者', 'all', 1)

調べると下のサイトが近い状況

どうもmysql のコンフィグファイルをうまく読み込めていない様子。。。

公式MySQLでインストールされているMySQLは/etc/mysql/conf.d/に*.cnf形式のファイルが入っているとその設定を優先するようになっています。

上の文を信じて、conf.d フォルダを作成して、cnf データを置いてみる。

mkdir /etc/mysql
mkdir /etc/mysql/conf.d
cp -p /etc/my.cnf /etc/mysql/conf.d/

再度、コンポースアップ

docker-compose up -d

再度、Redmine を試してみるもダメ。。。

フォルダとファイル、コンテナを全て削除。

下のサイトを参考にして解決

結論として、

docker-compose.yml へ

command: mysqld –character-set-server=utf8 –collation-server=utf8_unicode_ci

を追加することで、対応できた。

今後、mysql を利用するときは、上のコマンドが必須だと感じた。。。

まずは、起動しているコンテナのID を取得

docker ps

redmine のコンテナを停止/削除する

docker stop "コンテナID"
docker rm "コンテナID"

問答無用で、コンテナ全てを削除するには下のコマンド

docker rm -f docker ps -a -q

6
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
9