Redis Commander を Dockerで


Redis Commander

Redis CommanderはブラウザでRedisに接続できるものですが
Dockerコンテナで dbIndex 0 と dbIndex 1 など,複数表示するのにはどうすればいいか?


こんな感じにしたい


試した環境

VirtualBoxの中の CentOS Linux release 7.6.1810 (Core)


こうすれば出来ました


docker-compose.yml

version: '3'
services:

  redis:
    container_name: redis-container
    image: redis:5
    command: redis-server --appendonly yes --requirepass foobared
    volumes:
       - /home/vagrant/redis-data/redis:/data
    ports:
      - "6379:6379"
    environment:
      TZ: JST-9

  redisCommander:
    container_name: redis-commander-container
    image: rediscommander/redis-commander:latest
    environment:
      REDIS_HOSTS: Index0:redis-container:6379:0:foobared,Index1:redis-container:6379:1:foobared
      TZ: JST-9
    ports:
      - "8081:8081"
    depends_on:
      - redis

ポイント1

DockerHubのドキュメントにDockerの欄があって

REDIS_PORT
REDIS_HOST
REDIS_SOCKET
REDIS_TLS
REDIS_PASSWORD

REDIS_PASSWORD これを書こうとしてましたが、接続できない X(

 redisCommander:
    image: rediscommander/redis-commander:latest
    environment:
      - REDIS_HOSTS=local:redis:6379
      - REDIS_PASSWORD=foobared

Error: Ready check failed: NOAUTH Authentication required. にも同じ失敗した人がいました。

ちゃんと Valid host strings として

label:hostname:port:dbIndex:password

書式がありました。

ポイント2

dbIndex 複数は、どうやって定義するのか?

Specify multiple hosts with labels の例をみると , で区切ってたので

, 区切りで続けて書けば出来ました。

REDIS_HOSTS: Index0:redis-container:6379:0:foobared,Index1:redis-container:6379:1:foobared