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 の統合

推薦する

Chromeブラウザ設定の新バージョンではクロスドメイン実装が可能

序文現在、フロントエンドは主に webpack の devServer の構成を通じてクロスドメイン...

Docker はキューとタスクのスケジューリングを実現するために Laravel アプリケーションをデプロイします

前回の記事では、Docker を使用して Laravel アプリケーションをデプロイする方法について...

Javascript での JSBridge に関する予備的研究

目次JSBridgeの起源JSBridgeの双方向通信原理JSはネイティブを呼び出すネイティブコール...

Ubuntu 16.04/18.04 に Pycharm と Ipython をインストールするチュートリアル

Ubuntu 18.04の場合1. sudo apt install python 。コマンドライン...

txt ブックの内容を Web ページに表示するコード

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1...

vue keep-alive の簡単な概要

1. 機能主にコンポーネントの状態を保持したり、再レンダリングを回避したりするために使用されます。 ...

Alibaba Cloud Server Ubuntu 設定チュートリアル

Alibaba Cloud のカスタム Ubuntu イメージのインポートには、OSS スナップショ...

Vue3 のウォッチの使用方法とベストプラクティスガイド

目次序文🌟 1. APIの紹介2. 複数のデータソースの監視3. リスニングアレイ4. 監視対象5....

MySQLはJSON内部フィールドを抽出し、数値としてダンプします

目次背景問題分析1. 属性値はJson形式であり、Json操作関数を使用して処理する必要があります。...

Docker を使用して Spring Boot をデプロイする方法

Docker テクノロジの開発により、マイクロサービスの実装にさらに便利な環境が提供されます。Doc...

Sysbench の MySQL ベンチマーク プロセスの分析

序文1.ベンチマークは、テスト オブジェクトのクラスの特定のパフォーマンス指標の定量的、再現可能、比...

Linuxでディスクをマウントする方法

仮想マシンを使用しているときに、ディスク容量が不足し、継続使用するためにディスクをマウントする必要が...

VMware14 に CentOS 7 をインストールするグラフィック チュートリアル

CentOS の紹介CentOS は、Red Hat Linux が提供する無料で利用できるソースコ...

MySQL トリガーの基本的な使い方(作成、表示、削除など)の詳細な説明

目次1. MySQLトリガーの作成: 1. MySQLトリガー作成構文: 2. MySQL作成構文の...

MySQL の時間タイプとモードの詳細

目次1. MySQL の時刻型2. タイムゾーンを確認する3. 不正な時間値4. 厳密モード5. 事...