DockerにRedisをインストールし、パスワードを設定して接続する方法

DockerにRedisをインストールし、パスワードを設定して接続する方法

Redis は分散キャッシュ サービスです。キャッシュは、大規模システムの開発やパフォーマンスの最適化にも欠かせない手段です。このとき、Redis が誕生しました。Redis はメモリ スティックにデータをキャッシュするため、読み取りと書き込みの速度が非常に高速です。従来のリレーショナル データベースはすべてディスク上にあるため、特に大量のデータをフィルタリングしてクエリする場合は非常に遅くなり、システムのユーザーに間違いなく影響を及ぼします。

Redisのインストールも非常に簡単です。私たちはRedisのインストールにDockerを使用しています。

1. dockerリポジトリからredisをダウンロードする

#dockerリポジトリでredisを検索
docker 検索 redis
#バージョン番号を追加せずに、ローカルウェアハウスに redis をダウンロードします。デフォルトは最新バージョンです。docker pull redis
#ダウンロードしたコンテナのDockerイメージを表示する

2. Dockerを使用してredisイメージを作成して実行し、redisパスワードを設定します。

#docker run を使用してコンテナを作成して起動します#--requirepass redis に接続するためのパスワードを設定します docker run -p 6379:6379 --name redis -d redis:latest --requirepass "123456"
#コンテナが起動しているか確認する docker ps

3. ローカルでRedisに接続する

#ローカル接続では、bash コマンドを直接使用してパスワードを設定し、-a と password [root@apg-server ~] でアクセスします。# docker exec -it redis redis-cli -a 123456
警告: コマンドライン インターフェイスで「-a」または「-u」オプションを使用してパスワードを使用することは安全ではない可能性があります。
#キーテストを設定する 127.0.0.1:6379> set name xiaomianyang
わかりました
#キーを照会する
127.0.0.1:6379> 名前を取得
「シャオミヤン」

4. RedisコンテナのIPアドレスを確認する

[root@apg-server ~]# docker examine redis | grep IPアドレス
      「セカンダリIPアドレス」: null、
      "IPアドレス": "172.17.0.4",
          "IPアドレス": "172.17.0.4",

5. リモートでRedisに接続する

#ローカルマシン上にある場合はlocalhostを使用し、他の場所にある場合はホストマシンのIPを使用します
[root@apg-server ~]# docker exec -it redis redis-cli -h localhost -p 6379 -a 123456
警告: コマンドライン インターフェイスで「-a」または「-u」オプションを使用してパスワードを使用することは安全ではない可能性があります。
localhost:6379> 名前を取得
「シャオミヤン」

この時点で、redis は docker に正常にインストールされました。後で springBoot 開発を使用するときに、キャッシュを利用してシステムの処理能力を向上させることができます。

補足知識: Docker に Redis をインストールしてリモート接続を構成する完全なプロセスと落とし穴に対する注意事項

1. Redisをインストールする

docker search redisとdocker pull redisを使用してredisイメージをダウンロードします。

2. 新しいマウント構成フォルダを作成する

Redisのデフォルト設定では、ローカル接続のみ可能で、リモートアクセスはできません。Redisデスクトップマネージャーを使用して接続するとエラーが発生するため、手動でredis設定ファイルをマウントする必要があります。

任意の場所に、data と conf という 2 つの新しいフォルダーを作成します。

例えば:

mkdir -p /root/docker/redis/data

mkdir -p /root/docker/redis/conf

3. 設定ファイルredis.confを追加する

新しく作成した redis/conf に、次の内容の新しいファイル redis.conf を作成します。

#bind 127.0.0.1 //リモート接続を許可する protected-mode no
appendonly yes //persistence requirepass 123456 //password

4. Redisコンテナを作成して起動する

実行コマンドは次のとおりです。

docker run --name my_redis -p 6379:6379 -v /root/docker/redis/data:/data -

/root/docker/redis/conf/redis.conf:/etc/redis/redis.conf -d redis redis-server /etc/redis/redis.conf

解釈は次のとおりです。

–name: コンテナに名前を付ける

-p: ポートマッピング ホスト: コンテナ

-v: カスタム構成をマウントする カスタム構成: コンテナの内部構成

-d: バックグラウンドで実行

redis-server --appendonly yes: コンテナ内でredis-server起動コマンドを実行し、redisの永続化構成をオンにします。

5. 起動に成功しました。ステータスを確認してください。

docker psで起動ステータスを確認し、成功したかどうかを確認します。

6. コンテナ内の接続をテストする

docker exec -it my_redis redis-cli コマンドを実行してターミナルに入ります。

認証パスワードを使用してログインします。

完成したコマンドは次のとおりです。

[root@*** conf]# docker exec -it my_redis redis-cli
127.0.0.1:6379> 名前を設定 wangcai
(エラー) NOAUTH 認証が必要です。
127.0.0.1:6379> 認証 123456
わかりました
127.0.0.1:6379> 名前を設定 wangcai
わかりました
127.0.0.1:6379> 名前を取得
「王才」

注意: このエラーが発生した場合:

(エラー) NOAUTH 認証が必要です。

説明: 確認用のパスワードが入力されていません。パスワードを入力してください: auth

7. Redisデスクトップマネージャークライアントを使用して接続する

インターフェースはシンプルで一目で理解しやすいです。写真はこちらです。

8. まとめ

コンテナ ポートの起動時にエラーが発生した場合は、netstat -lntp | grep 6379 を使用して、どのプログラムがポートを占有しているかを確認できます。

ポートを占有しているプログラムはsudo kill 6379で終了できます。

Alibaba Cloudを使用する場合は、必ず対応するポートを開いてください。

上記のdockerにredisをインストールし、パスワードを設定して接続する操作は、エディターがあなたと共有するすべての内容です。参考になれば幸いです。また、123WORDPRESS.COMを応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Springboot で API ブラッシングと電流制限を防ぐために Redis を使用するプロセスの詳細な説明
  • Redis キャッシュを使用して過去の検索キーワードを保存および読み取る方法
  • Redis分散ロックのgo-redis実装の詳細な説明
  • Asp.net コアでの RedisMQ のシンプルなアプリケーション実装
  • Redisフレームワークを統合するためにSpringBoot2.Xをゼロから構築するための詳細なチュートリアル
  • Windows で Redis 環境をインストールして構成する方法
  • Redisの6つの主要なデータ型の使い方の詳細な説明
  • Redis Java Lettuce ドライバー フレームワークの原理分析
  • Redis API アトミック操作と原理分析

<<:  XHTML チュートリアル、XHTML の基礎を簡単に紹介します

>>:  Vue3 (パート 2) Ant Design Vue の統合

推薦する

数百万のデータに対して MySQL クエリを最適化する 4 つの方法

目次1. 時間が経つにつれて限界が遅くなる理由2. 百万データシミュレーション1. 従業員テーブルと...

jQueryはバウンドボールゲームを実装します

この記事では、バウンドボールゲームを実装するためのjQueryの具体的なコードを参考までに共有します...

div要素に丸い境界線を追加する方法

以下のように表示されます。 CSSコードコンテンツをクリップボードにコピー分割{境界線: 2px 固...

WeChatミニプログラムQRコード生成ツール weapp-qrcode 詳細説明

WeChat ミニプログラム - QR コード ジェネレーターダウンロード: weapp-qrcod...

Dockerはコンテナ外のコンテナ内でコマンドを実行します

コンテナ内でコマンドを実行したいが、コンテナに入りたくない場合があります。ではどうすればいいでしょう...

JavaScript における型の必須および暗黙的な変換の詳細な説明

目次1. 暗黙的な変換二重等号での変換ブール型変換「+」と「-」 2. 強制型変換' ...

PHP で JSON バックスラッシュを削除する例

1. 「stripslashes($_POST['json']);」メソッドを使用し...

私が遭遇したIE8の互換性に関する注意事項

1. IE8 の getElementById は id のみをサポートし、name はサポートしま...

CentOS6.5 でファイル共有サービス Samba を構築するチュートリアル

Samba サービス:このコンテンツはサンバサービス学習者の参考用ですケースの説明:企業の管理者は、...

MySQL 制約の種類と例

制約制約によりデータの整合性と一貫性が確保される制約はテーブルレベルの制約と列レベルの制約に分けられ...

CSSでフレックス配置を表示する(レイアウトツール)

display: flex レイアウトに関しては、深く理解している人もいますし、私も他の人の作業か...

Navicat for MySQL 15 登録とアクティベーションの詳細なチュートリアル

1. Navicat for MySQL 15をダウンロードするhttps://www.navica...

CSS を使用して画像の色を変更する 100 の方法 (収集する価値あり)

序文「画像処理というと、PhotoShop などの画像処理ツールを思い浮かべることが多いです。フロン...

CSS クリアフロートクリア:both サンプルコード

今日はフロートのクリアについてお話します。フロートのクリアについてお話する前に、フロートとは何かを理...

ESXI の仮想マシンにワークステーションをインストールするときに発生するネットワーク障害の解決策

問題の説明ESXI で Windows にワークステーションをインストールした後、内部の仮想マシンは...