dockerでredisクラスタを構築する方法
Redis クラスタを構築するには、Docker を利用してデプロイメントプロセスを簡素化できます。 以下は、Redis クラスタを構築するためのステップです。
- まず、すでに Docker と Docker Compose がインストール済みで、コマンドラインで正常に使用できることを確認してください。
- Redis クラスタの設定ファイルとデータファイルを保存するディレクトリを作成します。次のコマンドを使用して、redis-cluster という名前のディレクトリを作成できます。
- mkdir redis-cluster
cd redis-cluster - docker-compose.ymlファイルを作成し、以下の内容を追加します。
- services:
redis1:
image: redis
command: redis-server –port 6379 –cluster-enabled yes –cluster-config-file nodes.conf –cluster-node-timeout 5000 –appendonly yes
ports:
– 7001:6379
volumes:
– ./data/redis1:/data
– ./redis.conf:/usr/local/etc/redis/redis.conf
networks:
– redis-network
redis2:
image: redis
command: redis-server –port 6380 –cluster-enabled yes –cluster-config-file nodes.conf –cluster-node-timeout 5000 –appendonly yes
ports:
– 7002:6380
volumes:
– ./data/redis2:/data
– ./redis.conf:/usr/local/etc/redis/redis.conf
networks:
– redis-network
redis3:
image: redis
command: redis-server –port 6381 –cluster-enabled yes –cluster-config-file nodes.conf –cluster-node-timeout 5000 –appendonly yes
ports:
– 7003:6381
volumes:
– ./data/redis3:/data
– ./redis.conf:/usr/local/etc/redis/redis.conf
networks:
– redis-network
networks:
redis-network: - 上記のコンフィグレーションファイルでは、3つのRedisノードが定義されており、それぞれポート 6379、6380、6381 をリスニングしています。ニーズに応じて、ポート番号とノード数を調整できます。
- redis.conf ファイルを作成してそこに次の内容を追加します:
- cluster-enabled yes\ncluster-config-file nodes.conf\ncluster-node-timeout 5000\nappendonly yes
- 这些設定は Redis ノードにクラスタ機能を有効化し、クラスタ設定を nodes.conf ファイルに保存します。
- Redisノードのデータを格納するための3つのデータディレクトリを作成します。以下のコマンドを使用してこれらのディレクトリを作成できます。
- mkdir data/redis{1,2,3}
- Redisクラスタを起動する。redis-clusterディレクトリで次のコマンドを実行する。
- docker-compose up -d
- このコマンドにより Redis ノードが起動し、それらが 1 つのクラスタに接続されます。
- Redisクラスタが正常に機能しているかどうかを確認するには、以下のコマンドを使用してRedisクラスタのいずれかのノードに接続できます。
- redis-cli -h 127.0.0.1 -p 7001
- 次に、以下のコマンドを使用してクラスタ状態を確認します
- クラスタ情報
- 問題がなければ、クラスタについての情報が見られるはずです。
DockerでRedisクラスタを構築する手順は以上です。実際の要件に合わせて調整してください。