6
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

XTechグループAdvent Calendar 2020

Day 15

DockerとAlfredでMySQLとRedisのお手軽環境構築

Last updated at Posted at 2020-12-14

はじめに

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 を開くとこんな感じです。デザインは環境変数で変えられます。
接続情報のサーバには、docker-compose.yml で書いたサービス名 mysql を入れます。
image.png

image.png

redisinsight はこんな感じです。
接続情報は以下の通りです。

  • Name: 任意の名前
  • Host: docker-compose.yml で書いたサービス名 redis
  • Port: 6379

image.png

image.png

GUI クライアントをどこからでも呼び出せるようにする

Alfred を使います。
Alfredとはなんぞや?という方は、Alfredを使いこなせてない君に!【Alfredの使い方完全版】
いうたら、spotlight 検索の上位互換みたいなやつです。
Alfred の Web Search に 先ほどの http://localhost:8090/ とかを登録しておくと、ポート番号を覚えておく必要もないし、どっからでも呼び出せるので便利です。
Web Search というのは、URL にキーワードを紐付けて登録しておくと、Alfred でそのキーワードを実行することで、登録した URL をブラウザで開けるというものです。
画像のようにして http://localhost:8090/ を登録してみます。

image.png

登録後、実行すると、登録した URL が自動で開きます。
image.png

おわりに

最近は Docker で入れられるツールも増えてきているので、うまく活用すると、オンボーディングコストさげられそうだなと、これ書いてて思いました。
みなさんもためしてみてください〜

6
0
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
6
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?