はじめに
2020 年度 XTech グループアドベントカレンダーの 15 日目の記事です。
エキサイト株式会社、新卒の西牧です。
今回は、Docker と Alfred で MySQL と Redis をお手軽に環境構築する方法を紹介したいと思います。
必要なもの Docker で立ち上げて、Alfred でどこからでも呼び出せるようにするという流れです。
コードはこちら。
環境
macOS: 10.15.1
docker-compose: 1.27.4
Alfred: 4.0.9
docker-composeですべて立ち上げる
docker-compose で以下のものを立ち上げます。
- MySQL
- Redis
- adminer
- redisinsight
MySQL の GUI クライアントには adminer を、Redis の GUI クライアントには redis-insight を使います。
理由としては、デスクトップアプリより web アプリがよかった(個人的にはできるだけ web で完結したい)のと、軽量なことぐらいです。
ちなみに以前は、Sequel Pro と Medis を使っていましたが、どちらもあまり使いやすくなく、adminer と redisinsight の方が個人的にはいいと思います。
$ docker-compose up -d
version: '3'
services:
redis:
image: redis:latest
restart: always
ports:
- 6378:6379
command: redis-server /usr/local/etc/redis/redis.conf
volumes:
- ./redis/data:/data
- ./redis/redis.conf:/usr/local/etc/redis/redis.conf
redisinsight:
image: redislabs/redisinsight
restart: always
ports:
- 8011:8001
volumes:
- ./redisinsight:/db
depends_on:
- redis
mysql:
image: mysql:5.7
restart: always
environment:
MYSQL_USER: docker
MYSQL_PASSWORD: docker
MYSQL_ROOT_PASSWORD: local_root_password
MYSQL_DATABASE: db
ports:
- 3307:3306
volumes:
- ./mysql/data:/var/lib/mysql
- ./mysql/conf.d:/etc/mysql/conf.d
adminer:
image: adminer:latest
restart: always
environment:
# choose your favorite design from https://www.adminer.org/
ADMINER_DESIGN: lucas-sandery
ports:
- 8090:8080
depends_on:
- mysql
動作確認
立ち上げられると、GUI クライアントを開いて、MySQL と Redis に接続してみます。
- adminer: http://localhost:8090/
- redisinsight: http://localhost:8011/
adminer を開くとこんな感じです。デザインは環境変数で変えられます。
接続情報のサーバには、docker-compose.yml
で書いたサービス名 mysql を入れます。
redisinsight はこんな感じです。
接続情報は以下の通りです。
- Name: 任意の名前
- Host:
docker-compose.yml
で書いたサービス名 redis - Port: 6379
GUI クライアントをどこからでも呼び出せるようにする
Alfred を使います。
Alfredとはなんぞや?という方は、Alfredを使いこなせてない君に!【Alfredの使い方完全版】
いうたら、spotlight 検索の上位互換みたいなやつです。
Alfred の Web Search に 先ほどの http://localhost:8090/ とかを登録しておくと、ポート番号を覚えておく必要もないし、どっからでも呼び出せるので便利です。
Web Search というのは、URL にキーワードを紐付けて登録しておくと、Alfred でそのキーワードを実行することで、登録した URL をブラウザで開けるというものです。
画像のようにして http://localhost:8090/ を登録してみます。
- Search URL: http://localhost:8090/
- Title: 任意の名前
- Keyword: 任意の単語
おわりに
最近は Docker で入れられるツールも増えてきているので、うまく活用すると、オンボーディングコストさげられそうだなと、これ書いてて思いました。
みなさんもためしてみてください〜