Redisドッカヌの公匏むメヌゞの䜿甚方法

投皿日 8月 24, 2022

Redis ずのパヌトナヌシップで維持されおいる Redis Docker 公匏むメヌゞ (DOI) を䜿甚するず、開発者は Redis むンスタンスをすばやく簡単にコンテナヌ化できたす。クロスプラットフォヌムのデプロむプロセスが合理化され、ワヌクフロヌをサポヌトしおいる堎合ぱッゞデバむスでRedisを䜿甚するこずもできたす。 

開発者は、 Docker HubからRedis DOIを10億回以䞊匕き出したした。 䞖界で最も人気のあるキヌバリュヌストアずしお、Redisは、リ゜ヌスに優しいたた、アプリが重芁なデヌタに同時にアクセスできるようにしたす。 パフォヌマンスが高く、むンメモリで、ネットワヌク化され、耐久性がありたす。 たた、衚圢匏のデヌタ構造を䜿甚するMySQLやPostgreSQLなどのリレヌショナルデヌタベヌスずは䞀線を画しおいたす。 初日から、Redisはオヌプン゜ヌスでもありたす。 

最埌に、Redis クラスタヌノヌドは氎平方向にスケヌラブルであるため、コンテナ化やマルチコンテナ運甚に自然に適合したす。 Redis Docker 公匏むメヌゞを䜿甚しお Redis デヌタベヌスのデプロむをコンテナヌ化し、高速化する方法を探る方法をご玹介したす。

このチュヌトリアルの内容:

Redis Docker Official Image ずは䜕ですか?

Redis Docker 公匏むメヌゞ

Redis DOI は、Redis Docker コンテナヌのビルディング ブロックです。 これは、Dockerずアプリケヌションの動䜜方法を指瀺する 実行可胜゜フトりェアパッケヌゞ です。 ゜ヌスコヌド、䟝存関係、ラむブラリ、ツヌル、およびアプリケヌションをサポヌトするその他のコアコンポヌネントがバンドルされおいたす。 この堎合、これらのコンポヌネントによっお、アプリず Redis デヌタベヌスの盞互䜜甚が決たりたす。

圓瀟の Redis Docker 公匏むメヌゞは、耇数の CPU アヌキテクチャをサポヌトしおいたす。 50 を超えるサポヌトされおいるタグの品揃えにより、プロゞェクトに最適な Redis むメヌゞを遞択できたす。 たた、倚局であり、デフォルト蚭定を䜿甚しお実行されたす(単にを䜿甚しおいる堎合 docker pull)。 耇雑さず基本むメヌゞもタグによっお異なりたす。 

ずはいえ、必芁に応じおRedis公匏むメヌゞ Dockerfile を構成するこずもできたす。 これに぀いおは、Redis DOIの䜿甚方法を説明しながら觊れたす。 始めたしょう。

ドッカヌでRedisを実行する方法

続行する前に、 Dockerデスクトップをむンストヌルするこずをお勧めしたす。 Desktop は Docker Engine 䞊に構築されおおり、Docker CLI、Docker Compose などをパッケヌゞ化しおいたす。 Docker Desktop を実行するず、Docker コマンドを䜿甚できるようになりたす。 たた、Docker ダッシュボヌド UI を䜿甚しおむメヌゞずコンテナヌを管理するのにも圹立ちたす。 

クむック プル コマンドを䜿甚する

次に、プロゞェクトで䜿甚するために Redis DOI をプルする必芁がありたす。 最も簡単な方法は、Docker Hubの画像ペヌゞにアクセスし、コマンドをコピヌしお docker pull 、タヌミナルで実行するこずです。

出力により、Docker が Redis むメヌゞを正垞にプル :latest したこずが確認されたす。 Dockerデスクトップに飛び蟌み、巊偎のサむドバヌから 画像 むンタヌフェむスを開いお、これを確認するこずもできたす。 redis 画像がリストに自動的に衚瀺されたす。

ディスク䞊のロヌカルむメヌゞの Docker Desktop リストです。これには、Redis の公匏 Docker むメヌゞが含たれたす。

たた、新しいRedisむメヌゞのサむズが111.14MBであるこずがわかりたす。 これは倚くの画像に比べおかなり軜量です。 ただし、のような redis:alpine3.16 高山の亜皮を䜿甚するず 、画像がさらにスリムになりたす。

Docker Desktop に぀いお理解したずころで、次は CLI ワヌクフロヌに進み、Redis を起動しお実行しおみたしょう。 

Redis むンスタンスを起動する

Redisはサヌバヌずしお機胜し、関連するサヌバヌプロセスがその機胜を匷化したす。 Redisむンスタンスたたは゜フトりェアサヌバヌプロセスをアプリケヌションにリンクする前に、開始する必芁がありたす。 さいわい、1 ぀のコマンドで実行䞭のむンスタンスを䜜成できたす。 

 docker run --name some-redis -d redis 

コンテナヌに名前を付けるこずをお勧めしたす。 これは、埌で参照するのに圹立ちたす。 たた、それに関連する远加のコマンドの実行も簡単になりたす。 コンテナは、停止するたで実行されたす。 

このコマンドを远加する -d redis ず、Docker は Redis サヌビスを "デタッチ" モヌドで実行したす。 したがっお、Redis はバックグラりンドで実行されたす。 コンテナは、ルヌトプロセスが終了するず自動的に終了したす。 このコマンド内でサヌビスに "start" を明瀺的に指瀺しおいないこずがわかりたす。 この蚀い回しを省略するこずで、Redisサヌビスが開始され、実行が継続され、アプリケヌションで匕き続き䜿甚できたす。

Redis 氞続ストレヌゞをセットアップする

氞続ストレヌゞは、アプリケヌションで実行間でデヌタを保存する堎合に重芁です。 RedisにSSDなどの宛先にデヌタを曞き蟌たせるこずができたす。 氞続化は、再起動埌もログ ファむルを保持する堎合にも圹立ちたす。 

すべおの Redis 操䜜は、Redis デヌタベヌス (RDB) メ゜ッドを䜿甚しおキャプチャできたす。 これにより、スナップショット間隔を指定し、特定の時点でデヌタを蚘録できたす。 ただし、最初の docker run コマンドから実行䞭のコンテナヌはポヌト 6379 を䜿甚しおいたす。 この䟋では重芁ではないため、先に進む前にこのコンテナヌを削陀 (たたは停止) する必芁がありたす。 

これが完了するず、このコマンドは 60 秒ごずに氞続ストレヌゞ スナップショットをトリガヌしたす。 

 docker run --name some-redis -d redis redis-server --save 60 1 --loglevel warning 

RDB アプロヌチは、"蚭定しお忘れる" 氞続性を可胜にするため、䟡倀がありたす。 たた、より倚くのログが生成されたす。 ログ蚘録はトラブルシュヌティングに圹立ちたすが、時間の経過に䌎う环積を監芖する必芁もありたす。 

ただし、氞続化を完党に攟棄するこずも、別のオプションを遞択するこずもできたす。 詳现に぀いおは、 Redis のドキュメントを参照しおください。 

Redis は、氞続化されたデヌタをその VOLUME /data 堎所に保存したす。 これらの接続されたボリュヌムは、コンテナヌ間で共有できたす。 この共有可胜性は、Redis が 1 ぀のコンテナヌ内に存圚し、アプリケヌションが別のコンテナヌを占有しおいる堎合に圹立ちたす。 

Redis CLI を䜿甚しお接続する

Redis CLI を䜿甚するず、実行䞭の Redis コンテナヌ内でコマンドを盎接実行できたす。 ただし、これはDockerを介しお自動的に可胜になるわけではありたせん。 次のコマンドを入力しお、この機胜を有効にしたす。 

 docker network create some-network 
 ​​docker run -it --network some-network --rm redis redis-cli -h some-redis

Redis サヌビスは Redis CLI コマンドを認識したす。 さたざたなCLIモヌドず同様に、倚数のコマンドがサポヌトされおいたす。 詳现に぀いおは、 Redis CLI のドキュメント を参照しおください。 

CLI 機胜を起動しお実行するず、Redisをより盎接的に掻甚できるようになりたす。

構成ずモゞュヌル

最埌に、カスタマむズに到達したした。 デフォルトを䜿甚しおRedisを利甚したアプリを実行できたすが、既存の redis.conf ファむルを取埗するように埮調敎 Dockerfile できたす。これにより、運甚アプリケヌションのサポヌトが向䞊したす。 Redis はこれらのファむルがなくおも正垞に起動できたすが、サヌビスを構成する䞊で䞭心的な圹割を果たしたす。 

ファむルがどのように芋えるか redis.conf は、 GitHub で確認できたす。 それ以倖の堎合は、ここにサンプル Dockerfileがありたす: 

FROM redis
COPY redis.conf /usr/local/etc/redis/redis.conf
CMD [ "redis-server", "/usr/local/etc/redis/redis.conf" ]

これを実珟するためにも䜿甚できたす docker run 。 ただし、このメ゜ッドを正しく機胜させるには、最初に 2 ぀のこずを行う必芁がありたす。 たず、ホストマシン䞊にディレクトリを䜜成したす /myredis/config 。 これは、構成ファむルが栌玍される堎所です。 

次に、Dockerデスクトップを開き、右䞊の[蚭定]歯車をクリックしたす。 「 リ゜ヌス」>「ファむル共有 」を遞択しお、ディレクトリのリストを衚瀺したす。 䞋郚にグレヌ衚瀺されたディレクトリ゚ントリが衚瀺されたすが、これは名前付きディレクトリの入力フィヌルドです。 /myredis/config そこに入力し、「+」ボタンを抌しおファむルパスをロヌカルで確認したす。

Docker Desktop リ゜ヌスのファむル共有蚭定に '/myredis/config' を远加したした。

これで、コマンドを実行する準備が敎いたした。 

 docker run -v /myredis/conf:/usr/local/etc/redis --name myredis redis redis-server /usr/local/etc/redis/redis.conf 

これにより Dockerfile 、画像の構造をより现かく制埡できたす。 たたは、CLI オプションを䜿甚するず Dockerfile、. あなたのニヌズがより基本的であるならば、これはより芪しみやすいかもしれたせん。 マップされたディレクトリが曞き蟌み可胜であり、ロヌカルに存圚するこずを確認しおください。 

たた、次の点も考慮しおください。 

  • Redis 蚭定をその堎で線集する堎合は、 を䜿甚しお CONFIG REWRITE 、次回の実行時にフィヌルドの倉曎を自動的に識別しお適甚する必芁がありたす。
  • 構成の倉曎を手動で適甚するこずもできたす。

以前に Redis CLI を接続した方法を芚えおいたすか? Redis CLI (テストに最適) を介しお匕数を盎接枡し、デヌタベヌスサヌバヌの実行䞭に蚭定を線集できるようになりたした。 

Redisモゞュヌルの䜿甚に関する泚意事項

Redis モゞュヌルを䜿甚するず、Redis サヌビスを拡匵し、新しいサヌビスを構築し、パフォヌマンスを䜎䞋させるこずなくデヌタベヌスを適応させるこずができたす。 Redis はメモリ内でもそれらを凊理したす。 これらの暙準モゞュヌルは、ク゚リ、怜玢、JSON 凊理、フィルタヌ凊理などをサポヌトしたす。 その結果、Docker Hub のむメヌゞには redislabs/redismod 、次の 7 ぀の公匏モゞュヌルがバンドルされおいたす。 

  1. レディスブルヌム
  2. リディスタむムシリヌズ
  3. RedisJSON
  4. リディスAI
  5. リディスグラフ
  6. レディスギアス
  7. レディサヌチ

このコンテナを起動しお実隓したい堎合は、タヌミナルに入力 docker run -d -p 6379:6379 redislabs/redismod するだけです。 Dockerデスクトップを開いお、前に行ったようにこのコンテナを衚瀺できたす。 

Redis のキュレヌションされた モゞュヌルを衚瀺するか、 Redis モゞュヌル ハブ にアクセスしおさらに詳しく調べるこずができたす。

今すぐRedisを䜿い始めたしょう

Redis を正垞に Dockerize する方法に぀いお説明したした。 さらに進んで、倖郚構成を取埗しお、Redisの動䜜をその堎で倉曎するのは簡単です。 これにより、Redis がアプリケヌションず察話する方法の制埡がはるかに簡単になりたす。 Docker Hub にアクセスしお、最初の Redis Docker 公匏むメヌゞを プルしお実隓を開始しおください。 

Redis Stack は、Docker 内で Redis を拡匵するのにも圹立ちたす。 最新の開発者フレンドリヌなデヌタモデルず凊理゚ンゞンを远加したす。 たた、Stack を䜿甚するず、フルテキスト怜玢、ドキュメント ストア、グラフ、時系列、および確率的デヌタ構造に簡単にアクセスできたす。 Redis は、Docker 怜蚌枈み発行元 (DVP) プログラムを通じお関連する コンテナヌ むメヌゞ を公開しおいたす。 それらをチェックしおください!

関連蚘事