はじめに
redis を GUI で操作出来る redis-commander というツールが紹介されていたので、試すにあたって redis と redis-commander が動作する Dockerfile を作った。
redis-commander
スクリーンショット

実装
- joeferner / redis-commander
- node.js で実装されている
Dockerfile
docker build
こちらからどうぞ。(後で README 書きます)
git clone https://github.com/inokappa/dockerfile-redis.git
cd dockerfile-redis
docker build -t ${your_container} .
ちょっと時間が掛かる。
docker run
Dockerfile 内でポート等も決め打ちしているので docker run も以下のようにシンプル。
docker run -d -i ${your_container}
monit 管理
コンテナの IP でポート 2812 にアクセスすると monit のダッシュボードが表示される。

プロセスの監視は monit でやると便利(だと思う)。
redis-commander
コンテナ IP の ポート 8081 にアクセスすると redis-commander にアクセスすることが出来る。

左ペインの 127.0.0.1:6379:0 をクリックすると上記のような redis-server のステータスを確認することが出来る。

Add New Key... をクリックするとデータを登録することが出来る。試しに String 型のデータを登録してみる。

登録が完了すると左ペインの 127.0.0.1:6379:0 からクリックして確認することが出来る。

上記のようにデータのエクスポート機能等も備える。
最後に
まだ、ちょっとしか使ってないけど
- こりゃ便利そう(薄っぺらいコメントで恐縮です...)
- 外部の redis-server にも接続することが出来そうなので試してみる
おまけ
monit で...
/etc/init.d/monit start とすると以下のようなエラーが出た。
Starting monit: /etc/monit.d/redis.conf:1: Error: service name conflict, redis already defined '/var/run/redis.pid'
monit: The control file '/etc/monit.conf' must be owned by you.
[FAILED]
redis を監視する設定ファイルを以下のように書いていたのが原因。
check process redis with pidfile /var/run/redis.pid
start program = "/usr/local/bin/redis-server /usr/local/etc/redis.conf"
stop program = "/usr/bin/pkill redis"
以下のように修正した。
check process redis-server with pidfile /var/run/redis.pid
start program = "/usr/local/bin/redis-server /usr/local/etc/redis.conf"
stop program = "/usr/bin/pkill redis"