2
3

More than 5 years have passed since last update.

ubuntu 14.04でdockerでredmineで遊んでみる

Posted at

Dockerで遊んでみる 第三弾です。
調子に乗ってこんどはredmineをいってみます。

※大前提として既存のredmineはバックアップとっています。
(DBとfilesディレクトリです)
http://redmine.jp/faq/system_management/backup/
ちなみに使ってるDBはmysqlになります。

いつものように、こちらのページを参照して順番にredmineをインストールしていきます。
https://registry.hub.docker.com/u/sameersbn/redmine/

環境構築とイメージの取得

※redmine、mysqlの永続的データを置く場所の作成
root@raidtest:~/docker_test# mkdir redmine
root@raidtest:~/docker_test# cd redmine/
root@raidtest:~/docker_test/redmine# mkdir mysql
root@raidtest:~/docker_test/redmine# mkdir redmine
root@raidtest:~/docker_test/redmine#

※redmineのイメージを持ってくる
root@raidtest:~/docker_test/redmine# docker pull sameersbn/redmine:latest
latest: Pulling from sameersbn/redmine

~ ずらずらずらっと ~

Status: Downloaded newer image for sameersbn/redmine:latest
root@raidtest:~/docker_test/redmine#

※mysqlのイメージを持ってくる
root@raidtest:~/docker_test/redmine# docker pull sameersbn/mysql:latest
latest: Pulling from sameersbn/mysql

~ ずらずらずらっと ~

Status: Downloaded newer image for sameersbn/mysql:latest
root@raidtest:~/docker_test/redmine#

mysqlを動かしてみる&設定

root@raidtest:~/docker_test/redmine# docker run --name=mysql-redmine -d --volume=/home/miyumiyu/docker_test/redmine/mysqll:/var/lib/mysql sameersbn/mysql:latest
ab5708218fd2de9d56ab6b8c4bcc3c0695484e4a17a8ebc87199da8f078e95d2
root@raidtest:~/docker_test/redmine#

※コマンド引数長い。。。
--volumeでマウントしてるとこは、先ほど作成したディレクトリです。

mysqlにredmineに必要なものを流し込みます。
必要な物は以下の通りです。

CREATE USER 'redmine'@'%.%.%.%' IDENTIFIED BY 'password' ; 
create database redmine_production character set utf8;
GRANT SELECT,LOCK TABLES,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER ON `redmine_production`.* TO 'redmine'@'%.%.%.%';
※コンテナの稼働状況の確認
root@raidtest:~/docker_test/redmine# docker ps
CONTAINER ID        IMAGE                    COMMAND             CREATED             STATUS              PORTS               NAMES
ab5708218fd2        sameersbn/mysql:latest   "/start"            3 minutes ago       Up 3 minutes        3306/tcp            mysql-redmine

※コンテナに一度入る
root@raidtest:~/docker_test/redmine# docker exec -ti mysql-redmine bash
root@ab5708218fd2:/#

※mysqlで必要なSQL文の流し込み
root@ab5708218fd2:/# mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.5.43-0ubuntu0.14.04.1 (Ubuntu)

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> CREATE USER 'redmine'@'%.%.%.%' IDENTIFIED BY 'password' ;
Query OK, 0 rows affected (0.00 sec)

mysql> create database redmine_production character set utf8;
Query OK, 1 row affected (0.00 sec)

mysql> GRANT SELECT,LOCK TABLES,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER ON `redmine_production`.* TO 'redmine'@'%.%.%.%';
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye
root@ab5708218fd2:/# exit
root@raidtest:~/docker_test/redmine#

※コンテナのIPアドレスを確認して
root@raidtest:~/docker_test/redmine# docker inspect --format '{{ .NetworkSettings.IPAddress }}' mysql-redmine
172.17.0.34
root@raidtest:~/docker_test/redmine#

※先ほど流したSQLでredmineユーザでアクセスできるかどうか確認

root@raidtest:~/docker_test/redmine# mysql -h 172.17.0.34 -u redmine -ppassword redmine_production
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.5.43-0ubuntu0.14.04.1 (Ubuntu)

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> exit
Bye
root@raidtest:~/docker_test/redmine#

※はい、つながりました

※ちなみにコンテナ起動時に【--name=mysql-redmine】って設定しましたので、わけのわからないコンテナIDとかでなく、名前でコンテナ名を指定してます。

redmineの起動

※さらに引数長いよ!!

root@raidtest:~/docker_test/redmine# docker run --name=redmine -it --rm   --env='DB_TYPE=mysql' --env='DB_HOST=172.17.0.34' --env='DB_NAME=redmine_production'  --env='DB_USER=redmine' --env='DB_PASS=password'  --volume=/home/miyumiyu/docker_test/redmine/redmine:/home/redmine/data   sameersbn/redmine:latest
Generating SSH keys...

~ずらずらずらっと~

2015-07-03 11:01:47,392 INFO success: cron entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2015-07-03 11:01:47,393 INFO success: nginx entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)

DB_TYPE → mysqlですよ
DB_HOST → さっきIP確認したよ
DB_NAME → SQL文にあったよ!
DB_USER → SQLで作ったよ
DB_PASS → SQL文で指定したよ
--volume → 一番最初に作ったよ!

。。。長いですね

しばらくするとログが流れが止まったので起動したのかなぁ~ と
(初回起動はマイグレーションとか色々やってます)

とりあえず Ctrl+c でいちどコンテナを止めて

^C2015-07-03 11:05:05,945 WARN received SIGINT indicating exit request
2015-07-03 11:05:05,949 INFO waiting for cron, nginx, unicorn to die
2015-07-03 11:05:05,997 INFO stopped: nginx (exit status 0)
2015-07-03 11:05:06,002 INFO stopped: cron (terminated by SIGTERM)
2015-07-03 11:05:20,684 WARN killing 'unicorn' (126) with SIGKILL
2015-07-03 11:05:21,433 INFO waiting for unicorn to die
2015-07-03 11:05:22,452 INFO stopped: unicorn (terminated by SIGKILL)
root@raidtest:~/docker_test/redmine#

バックアップデータのリストア

バックアップデータは
- DBのリストア
- redmineのディレクトリにリストア(files)

この二つです。


※DBのリストア
oot@raidtest:~/redmine-backup# mysql -h 172.17.0.34 -u redmine -ppassword redmine_production < redmine.sql
root@raidtest:~/redmine-backup#

※redmineでmysqldumpで固めたファイルは redmine.sqlというファイル名にしました

※filesのリストア

root@raidtest:~/docker_test# cd redmine/redmine/
root@raidtest:~/docker_test/redmine/redmine#
root@raidtest:~/docker_test/redmine/redmine# tar zxvf ../../../redmine-backup/redmine-files.tar.gz
~ずららっと~

リストア完了 redmineを立ち上げてみる

問題なければこれでうまく起動するはず

root@raidtest:~/docker_test/redmine/redmine# docker run -d -p 80:80 -p 443:443 --name=redmine    --env='DB_TYPE=mysql' --env='DB_HOST=172.17.0.34' --env='DB_NAME=redmine_production'  --env='DB_USER=redmine' --env='DB_PASS=password'  --volume=/home/nyamagu/docker_test/redmine/redmine:/home/redmine/data   sameersbn/redmine:latest
db3147ab4f99a53fdce5cc458ba4efeb14a6a07728987e3c02f0ffb063e9d06f
root@raidtest:~/docker_test/redmine/redmine#

さらにオプション追加と削除です。
80ポートと442はそのままフォワーディング
(実験環境なのでポートが開いてたので^^)
-d でデタッチするため -it --rm オプション除外です。

これでredmineが立ち上がってバックアップのデータが引き継いでいると思います。
。。。何に使えるかはなぞですが。。。。

2
3
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
2
3