はじめに
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"