コンテナ テクノロジーの発展とコンテナ化された展開の普及に伴い、コンテナ環境の基本的なネットワーク アーキテクチャの 1 つであるコンテナ ネットワークが徐々に人々の注目を集めるようになりました。コンテナの導入プロセスにおいて、高可用性と高性能のコンテナ ネットワークをどのように実現するかが大きな関心事となっています。高性能のインメモリデータベースとして、コンテナネットワークでの Redis のアプリケーションも大きな注目を集めています。この記事では、コンテナ ネットワークにおける Redis の適用実践を紹介します。
1. Redis の機能の紹介
Redis は、文字列、ハッシュ、リスト、セットなどのさまざまなデータ構造をサポートする高性能のキー/値インメモリ データベースです。 、zsetなど。 Redis の特徴は次のように要約できます。
FROM redis:5.0.7-alpine WORKDIR /usr/local/redis CMD ["redis-server"]
次に、Docker を使用して Redis コンテナ イメージをローカルに構築します:
docker build -t my-redis:1.0 .
最後に、Docker イメージを通じて Redis コンテナを起動します:
docker run -d --name my-redis -p 6379:6379 my-redis:1.0コンテナ ネットワークの構築
docker network create my-network docker run -d --name redis-master --net my-network -p 6379:6379 redis:5.0.7-alpine redis-server --bind 0.0.0.0 --port 6379 docker run -d --name redis-slave --net my-network redis:5.0.7-alpine redis-server --slaveof redis-master 6379
Redis クラスターの構築
Redis ノードを同じネットワークに追加し、ノード間で IP とポート番号を介して通信します。
docker network create my-network docker run -d --name redis1 --net my-network -p 7001:7001 redis:5.0.7-alpine redis-server --bind 0.0.0.0 --port 7001 --cluster-enabled yes --cluster-config-file nodes.conf --cluster-node-timeout 5000 --appendonly yes docker run -d --name redis2 --net my-network -p 7002:7002 redis:5.0.7-alpine redis-server --bind 0.0.0.0 --port 7002 --cluster-enabled yes --cluster-config-file nodes.conf --cluster-node-timeout 5000 --appendonly yes docker run -d --name redis3 --net my-network -p 7003:7003 redis:5.0.7-alpine redis-server --bind 0.0.0.0 --port 7003 --cluster-enabled yes --cluster-config-file nodes.conf --cluster-node-timeout 5000 --appendonly yes docker run -d --name redis4 --net my-network -p 7004:7004 redis:5.0.7-alpine redis-server --bind 0.0.0.0 --port 7004 --cluster-enabled yes --cluster-config-file nodes.conf --cluster-node-timeout 5000 --appendonly yes docker run -d --name redis5 --net my-network -p 7005:7005 redis:5.0.7-alpine redis-server --bind 0.0.0.0 --port 7005 --cluster-enabled yes --cluster-config-file nodes.conf --cluster-node-timeout 5000 --appendonly yes docker run -d --name redis6 --net my-network -p 7006:7006 redis:5.0.7-alpine redis-server --bind 0.0.0.0 --port 7006 --cluster-enabled yes --cluster-config-file nodes.conf --cluster-node-timeout 5000 --appendonly yes docker run -it --rm --net my-network redis:5.0.7-alpine redis-cli --cluster create $(docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}:7001' redis1) $(docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}:7002' redis2) $(docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}:7003' redis3) $(docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}:7004' redis4) $(docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}:7005' redis5) $(docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}:7006' redis6) --cluster-replicas 1
以上がコンテナネットワークにおけるRedisの適用実践の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。