ドッカーでレディス・クラスターを実行する方法
Docker を使用すると、Redis クラスターの展開が容易になります。基本的な手順を以下に示します。
- Redisクラスター構成ファイルを作成する
ネイティブなRedis設定ファイルredis.confを作成して、以下を追加できます。
port 6379
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
- Docker ネットワークを作成する
Dockerネットワークを作成するには以下のコマンドを実行します。
docker network create redis-net
- Redis コンテナを起動する
以下のコマンドを実行して Redis コンテナを起動します。
docker run -d --name redis-node1 --net redis-net -v /path/to/redis.conf:/usr/local/etc/redis/redis.conf redis redis-server /usr/local/etc/redis/redis.conf
docker run -d --name redis-node2 --net redis-net -v /path/to/redis.conf:/usr/local/etc/redis/redis.conf redis redis-server /usr/local/etc/redis/redis.conf
docker run -d --name redis-node3 --net redis-net -v /path/to/redis.conf:/usr/local/etc/redis/redis.conf redis redis-server /usr/local/etc/redis/redis.conf
それはそれぞれredis-node1、redis-node2、redis-node3と呼ばれる3つのRedisコンテナを開始します。
- Redisクラスタの作成
Redis クラスタを作成するには、以下のコマンドを実行します。
docker exec -it redis-node1 redis-cli --cluster create <ip-of-redis-node1>:6379 <ip-of-redis-node2>:6379 <ip-of-redis-node3>:6379 --cluster-replicas 1
上記の例では、、、 を各 Redis コンテナの IP アドレスに置き換えてください。
- クラスターが正常に動作しているか確認
以下のコマンドを実行して、Redisクラスタが正常に機能しているかどうかを確認してください。
docker exec -it redis-node1 redis-cli cluster nodes
正常であれば、Redis クラスタのノード情報が表示されます。
上記の方法で、Dockerを利用したRedisクラスタのデプロイメントは完了です。実際のデプロイメント時には、必要に応じて適宜調整を行ってください。