Docker で使えるデータベースの Web GUI まとめ

  • 188
    いいね
  • 1
    コメント

Docker や docker-compose を使ってデータベースを立ち上げるとき、 Web の GUI も一緒に立ち上げておくと便利です。

本稿では、JX通信社で使っているものの中から、各種データベースに対応する Docker 経由で立ち上げ可能な Web GUI の OSS をご紹介します。

「Web の GUI も一緒に立ち上げると便利」とは

例えば、次のような定義で docker-compose up して、 http://localhost:8080 にアクセスすると、

version: "3"

services:
  postgres:
    image: postgres
    environment:
      POSTGRES_DB: test
      POSTGRES_USER: test

  postgres-gui:
    image: donnex/pgweb
    command: -s --bind=0.0.0.0 --listen=8080 --url postgresql://test:@postgres/test?sslmode=disable
    links:
      - postgres:postgres
    ports:
      - "8080:8080"

このような GUI でブラウザからデータベースをいじれるのでとても便利です。例えばテーブルを削除したいとき、わざわざ PostgreSQL の CUI を立ち上げて DROP TABLE を発行しなくても良いわけです。

image

また、このような定義を docker-compose.yml に記載しておくことで、新しく入ったメンバーが docker-compose up だけで環境を立ち上げられるようになり、とても良いです。

GUI の Docker イメージまとめ

データベース GUI 元のOSS
mysql phpmyadmin/phpmyadmin phpMyAdmin
postgres donnex/pgweb pgweb
mongo mongo-express mongo-express
cnadiminti/dynamodb-local yamitzky/dynamodb-gui dynamodb-admin
redis tenstartups/redis-commander redis-commander

イメージの選定基準は、

  • 公式があれば、公式
  • 公式がなければ、
    • DL数が多い
    • アクティブにメンテされている
    • 軽い

あとがき

ご紹介したものは、実際にJX通信社で活用しているものですが、もしより良い Docker イメージがあれば、ぜひご紹介ください。

また、ご紹介したものは、あくまでローカルでの開発時に適したものであり、(認証がないなど理由から)本番利用には適さないかもしれません。