やおよろず

日常やら技術系のメモやら

dockerでRedmine

Windows ノートPCを新調したので、いろいろ遊んでみている。

その一環として、新しい技術に消極的な弊社内でも最近dockerが使われだしているので、勉強がてら入れてみた。で、Redmineで今後のアレコレを管理したいなーと思っていたので、Redmineをいれてみた。そのあたりメモ。

 

解説サイトから見ていっていろいろ試したが、docker-compose.yml書いてこれを使うのが簡単そう。公式?でもそんな書かれ方してる。

github.com

 

で、やってみるとWindowsからのアクセスがうまくいかず。

うーん、うーんと悩んだけど、VirtualBoxでポートフォワーディング設定が必要でした。適当にポートふったらいけたよ。

 

f:id:you_large1985:20170226202310p:plain

 

やったね!・・・と思ったが大間違い。データの永続化が必要でした。これを怠ったために、入力した諸々がすべて消し飛ぶことに・・・。

データの永続化には一般的にはVolumeやらデータコンテナというものを使うみたい。Volumeは、Windowsファイルシステム上をコンテナのデータの出力先にできるという便利機能なのだけど、直接Windowsファイルシステム上を指定すると、postgresqlでinitdbでPermissionエラーが出る。

 いろいろ調べてみると、rootかUID=1000で動作しないとエラーではじかれるようだ。postgresql,Redmineの中身とかdockerの動きを十分理解できていれば、立ち上げ時のオプションを追加して対策できそうだが、現時点ではよくわからんし、そこまでがんばってもなぁというところで、運用でカバーすることにした。

boot2dockerのファイルシステムが再起動で消えてしまうようなので、都度バックアップを取ることにした。ひとまずDB側のみ。

 

まずバックアップ。sshでログインして以下のコマンドを実行。

sudo tar -cf backup_YYYYMMDD.tar /srv/docker/redmine/postgresql
sudo tar -xf backup_YYYYMMDD.tar