ローカルで Redis サーバを利用したい用途があったので、Docker で Redis サーバを起動し、Mac のターミナルから Redis クライアントで操作できるようにしてみました。
Redisクライアント
Mac の場合は brew でインストールします。
1 | $ brew install redis |
バージョン指定しなければ、2018 年 11 月現在だと 5.0 がインストールされるようです。
1 | Downloading https://homebrew.bintray.com/bottles/redis-5.0.0.high_sierra.bottle.tar.gz |
Redisサーバ
DockerHub には Redis 関連のイメージがたくさんありますが、今回は素直に redis を使います。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | $ docker search redis NAME DESCRIPTION STARS OFFICIAL AUTOMATED redis Redis is an open source key-value store that… 5985 [OK] bitnami/redis Bitnami Redis Docker Image 93 [OK] sameersbn/redis 71 [OK] grokzen/redis-cluster Redis cluster 3.0, 3.2, 4.0 & 5.0 38 hypriot/rpi-redis Raspberry Pi compatible redis image 34 kubeguide/redis-master redis-master with "Hello World!" 27 kubeguide/guestbook-redis-slave Guestbook redis slave 22 redislabs/redis Clustered in-memory database engine compatib… 16 rediscommander/redis-commander Alpine image for redis-commander - Redis man… 10 [OK] webhippie/redis Docker images for redis 9 [OK] arm32v7/redis Redis is an open source key-value store that… 8 oliver006/redis_exporter Prometheus Exporter for Redis Metrics. Supp… 7 rtoma/logspout-redis-logstash Logspout including Redis adapter for sending… 5 centos/redis-32-centos7 Redis in-memory data structure store, used a… 3 wodby/redis Redis container image with orchestration 2 [OK] arm64v8/redis Redis is an open source key-value store that… 2 frodenas/redis A Docker Image for Redis 2 [OK] google/guestbook-python-redis A simple guestbook example written in Python… 1 tiredofit/redis Redis Server w/ Zabbix monitoring and S6 Ove… 1 [OK] circleci/redis CircleCI images for Redis 1 [OK] kilsoo75/redis-master This image is for the redis master of SK Clo… 1 cflondonservices/redis Docker image for running redis 0 xetamus/redis-resource forked redis-resource 0 [OK] anchorfree/redis redis cache server for logging 0 iadvize/redis |
バージョンも色々と用意されていますが、alpine3.8 でいきます。
run で起動してもいいのですが、個人的に docker-compose を使って起動させたいので yml ファイルに以下の定義を追加します。
1 2 3 4 5 6 7 8 | $ vi docker-compose.yml redis: container_name: redis image: redis build: ./redis/ ports: - "6379:6379" |
後々、設置など調整したい場面を想定して Docker ファイルに定義します。
今回はとりあえずイメージをそのまま起動させるだけとします。
1 2 3 | $ vi redis/Dockerfile FROM redis:alpine3.8 |
起動します。
1 | $ docker-compose up -d --build redis |
これでローカルの 6379 番ポートで Redis サーバに接続できるようになります。
Redisサーバの操作
Redis サーバの操作コマンドについては、これまでも「AmazonLinuxにRedisクライアントをインストールする」や「Redisでキーをワイルドカード検索して一括削除したい」で書いているので省略します。

AmazonLinuxにRedisクライアントをインストールするAWS で ElastiCache(Redis)を使おうと思って、そこへ接続するために Redis クライアントをインストールしました。...

Redisでキーをワイルドカード検索して一括削除したいRedis を使った運用をしていて、場合によっては特定のキー削除をするケースに遭遇するかもしれません。
例えば、テスト開発中に無駄なキ...