LoginSignup
11

More than 1 year has passed since last update.

Docker(+ Docker-Compose) に Redis を入れる

Last updated at Posted at 2020-02-07

Docker-Compose 環境に、Redis を入れる

今度は NoSQL として有名?な Redis を入れてみる。
NoSQL、Redisの詳しい話は、参考サイトを見てもらうとして。

NoSQL って何?

  • Not only SQL の略
    • 逆に、YeSQL なんてのもあるらしい

NoSQL - Wikipedia
NoSQL(一般に "Not only SQL" と解釈される)とは、関係データベース管理システム (RDBMS) 以外 のデータベース管理システムを指す おおまかな分類語 である。関係データベースを杓子定規に適用してきた長い歴史を打破し、それ以外の構造のデータベースの利用・発展を促進させようとする 運動の標語 としての意味合いを持つ。

Redis って何?

  • NoSQLデータベースの一つ
    • 今回の場合とかみたいに、KVS(キーバリューストア)として使われたりする
    • RDBと比べて高速で処理が出来たりする
      • RDBと組み合わせて使ったりもする

Redis - Wikipedia
Redisは、ネットワーク接続された永続化可能なインメモリデータベース。連想配列、リスト、セットなどのデータ構造を扱える。いわゆるNoSQLデータベースの一つ。オープンソースソフトウェアプロジェクトであり、Redis Labsがスポンサーとなって開発されている。

Redisをインストールする

フォルダは作っておく

mkdir RedisTest
cd RedisTest

docker-compose.yml を書く

docker-compose.yml の中身はコレ。

docker-compose.yml
version: '3'

services:
  #Redis
  redis:
    image: "redis:latest"
    ports:
      - "6379:6379"
    volumes:
      - "./data/redis:/data"

後で気づいたんだけど、この「Volumes」の項目が、
『データの永続化』をする際にどこに保存しておくかの設定のようだ。

この項目が存在しない場合、 docker-compose down -> docker-compose up すると、
Redisのデータが消えます。Redisのデータは通常はキャッシュとして扱うようなので、
消えても良いのが理想らしいのだけど、意図するかどうかは意識した方が良さそう。

Docker-Compose で Redis 起動

docker-compose up -d --build

Docker起動確認

$ docker-compose ps
      Name                     Command               State                 Ports
----------------------------------------------------------------------------------------------
mysqltest_redis_1   docker-entrypoint.sh redis ...   Up      0.0.0.0:6379->6379/tcp

Redis 確認

$ docker exec -it mysqltest_redis_1 bash
root@ec5fc90e5ee3:/data# redis-cli
127.0.0.1:6379> keys *
(empty list or set)

中身が無いのが確認出来た。データとかはこれから。

参考

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
11