はじめに
Redisは、非常に高速なリモートインメモリデータベースソリューションです。 Key-Valueデータモデルにより、Redisは高可用性と読み取り/書き込み速度を維持しながら、大規模なデータセットを処理できます。
RedisのようなNoSQLデータベースは、水平方向にスケールアウトする分散クラスターで効率的に実行することを目的としています。 Dockerを使用してRedisをコンテナーにデプロイすると、水平スケーリングが日常的で簡単なプロセスになります。
このチュートリアルでは、DockerコンテナにRedisをデプロイする方法について説明します。 あっという間に。
前提条件
- コマンドラインへのアクセス
- 動作するDockerインストール
- rootを持つユーザー またはsudo 特権
DockerRedisコンテナを起動する
1.ターミナルで次のコマンドを入力して、Dockerサービスの現在のステータスを確認します。
sudo systemctl status docker
出力は、Dockerが実行中でアクティブであることを確認します。
2. Redisコンテナを取得して開始します( my-first-redis ) docker run
を使用 コマンド:
sudo docker run --name my-first-redis -d redis
コマンドはRedisのバージョンを指定しませんでした。システムは、デフォルトで利用可能な最新バージョンのRedisのダウンロードに進みます。
3.インストールプロセスが完了したら、 docker ps
を使用して現在のDockerコンテナのステータスを確認します コマンド:
sudo docker ps
他の情報の中でも、システムは以下を提供します:
- 一意のコンテナID– b36262951bf4
- アクセスポート– 6379 (デフォルトのRedisポート番号)
- 定義されたコンテナ名– my-first-redis
redis-cliを使用してRedisに接続する
インタラクティブなredis-cli
を開始します 次のコマンドを使用したコマンドシェル:
sudo docker exec -it my-first-redis sh
インタラクティブシェルにアクセスしたら、 redis-cli
と入力します Redisコンテナインスタンスに接続します。
基本的なRedisコマンドを試す
1. Redis ping
このコマンドは、Redisデータベースへの接続がアクティブかどうかをテストするのに役立ちます:
ping
応答、 PONG 、接続が成功したことを示します。
2. Key-Valueストアは、可能な限り単純なデータモデルを使用します。一意のキーは値とペアになっています。 setコマンドを使用して、キー name
を定義します 値のペアはpnap
:
set name pnap
3.一意のキーname
を使用して値を取得できます およびget
コマンド:
get name
結果は、以前に定義された pnap
を取得します 価値。データ型とコマンドのリストは、包括的なガイドRedis Data TypesWithCommandsにあります。
4. redis-cliコマンドを調べたら、 quit
と入力します。 コンテナターミナルのインターフェースに戻ります。
5. exit
と入力します Dockerコンテナとの接続を閉じます。
カスタムredis.confファイルの使用(オプション)
redis.conf fileを使用すると、認証の設定、コマンドの制限、およびその他のセキュリティ指向の設定を定義できます。
カスタムRedis構成ファイルを作成した場合は、次のコマンドを使用して、コンテナーの起動時にファイルをロードします。
sudo docker run --name my-first-redis -v /myfirstredis/redis.conf:/usr/local/etc/redis/redis.conf -d redis
redis.confの場所 この例のファイルはmyfirstredis/ redis.conf 。 システム上の場所に一致するようにパスを変更します。
別のDockerコンテナからRedisにアクセスする
1. --link
を使用します 新しいコンテナを作成して既存のRedisインスタンスに接続するオプション:
sudo docker run -it --rm --name my-second-redis --link my-first-redis:redis -d redis
このコマンドは、新しいRedisコンテナ( my-second-redis )を開始しました )、最初のredisイメージに基づきます。 my-first-redis コンテナはredisと呼ばれます 2番目のコンテナ内。
さらに、 --rm
オプションは、インタラクティブシェルを終了した後、2番目のコンテナがそれ自体を削除することを保証します。このアクションはオプションであり、リソースを節約するために使用されます。
2. my-second-redis内でインタラクティブシェルを開始します コンテナ:
sudo docker exec -it my-second-redis sh
3. my-second-redisでRedisコマンドラインを起動します コンテナを作成し、 my-first-redisに接続します (現在は redisという名前です )、次のコマンドを使用します:
# redis-cli -h redis
4.元のmy-first-redis コンテナはまだアクティブです。 name
以前に作成されたキーが利用可能であり、2番目のコンテナからアクセスできます:
redis:6379> get name
結果のペア値はpnap
です。 。
5. quit
と入力します redis-cliを終了してから、 exit
と入力します ターミナルに戻るには:
redis:6379> quit
# exit
リモートサーバーからRedisにアクセス
Dockerポート転送機能を使用して、リモートサーバーからRedisコンテナーにアクセスできます。
1.リモート接続に使用するポートを定義します:
sudo docker run --name my-first-redis -p [port_number]:6379 -d redis
2.ホスト名またはIPと新しく定義されたポート番号を使用して、リモートサーバーからRedisコンテナにアクセスします。
sudo redis-cli -h [host or IP] -p [port_number] -a [password]
-a
認証フラグはオプションです。使用する場合は、Redisデータベースにアクセスするためのパスワードの入力をユーザーに要求します。