Docker での Redis の最も詳細なインストールと構成 (画像とテキスト付き)

Docker での Redis の最も詳細なインストールと構成 (画像とテキスト付き)

1. Dockerに適したRedisのバージョンを見つける

docker hubで見つけることができます

https://hub.docker.com/_/redis?tab=tags

ここに画像の説明を挿入

2. dockerを使ってredisをインストールする

sudo docker pull redis

インストール後、 docker images即可查看

truedei@truedei:~$ 
truedei@truedei:~$ sudo docker イメージ
リポジトリ タグ イメージ ID 作成 サイズ
redis 最新 987b78fc9e38 10日前 104MB
httpd 最新 a8a9cbaadb0c 2週間前 166MB
fjudith/draw.io 最新 7b136fc80d31 3 週間前 683MB
mysql 5.7.29 f5829c0eee9e 5週間前 455MB
truedei@truedei:~$ 
truedei@truedei:~$ 

3. Redis設定ファイルを準備する

redis 設定ファイルが必要なので、公式 redis Web サイトにアクセスして redis 設定ファイルをダウンロードし、使用するのが最善です。

redis 中国語公式サイト: http://www.redis.cn/download.html

ここに画像の説明を挿入

ダウンロード後、解凍します。

ここに画像の説明を挿入

必要なのはこのredis.confファイルです。安全のため、コピーしてバックアップを作成してください。

4. redis.conf設定ファイルを設定する

redis.conf構成ファイルを変更します。
主な構成は次のとおりです。

bind 127.0.0.1 #この部分をコメントアウトして、redisを外部からアクセスできるようにします
daemonize no #デーモンスレッドとして起動
requirepass 你的密碼#redis のパスワードを設定する
appendonly yes #redis の永続性はデフォルトで no になります
tcp-keepalive 300 #リモートホストが既存の接続を強制的に閉じないようにします。デフォルトは 300 です

5. dockerにマップされたローカルディレクトリ、つまりローカルストレージの場所を作成します。

Redis を保存するローカルの場所を作成します。

カスタマイズ可能です。一部の docker 構成ファイルは/dataディレクトリに保存されているため、後で管理しやすくするために/dataディレクトリにredisディレクトリを作成します。

truedei@truedei:redis-5.0.5$ sudo cp -p redis.conf /data/redis/
truedei@truedei:redis-5.0.5$ です 

作成したファイルに配置文件をコピーします

私は Linux オペレーティング システムを使用しているため、直接コピーできます。Windows を使用している場合は、FTP を使用してコピーするか、コンテンツを直接コピーしてから貼り付ける必要がある場合があります。

truedei@truedei:redis-5.0.5$ sudo cp -p redis.conf /data/redis/ を実行します。
truedei@truedei:redis-5.0.5$ です 

6. docker redisを起動する

起動する:

truedei@truedei:~$ sudo docker run -p 6379:6379 --name redis -v /data/redis/redis.conf:/etc/redis/redis.conf -v /data/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes

パラメータの説明:

-p 6379:6379 : コンテナ内のポート6379をホストのポート6379にマップします
-v /data/redis/redis.conf:/etc/redis/redis.conf : ホスト上で設定された redis.conf をコンテナ内のこの場所に配置します
-v /data/redis/data:/data : ホストマシン上のredisの永続データを表示し、データのバックアップを作成します
redis-server /etc/redis/redis.conf : これは重要な設定であり、これにより、redis は設定なしで起動するのではなく、この redis.conf の設定に従って起動できるようになります。
–appendonly yes : Redis 起動後のデータ永続化

7. 起動が成功したかどうかを確認する

正常に起動したかどうかを確認します: sudo docker ps

truedei@truedei:~$ sudo docker ps
コンテナID イメージ コマンド 作成ステータス ポート名
85cb7d83a2ff redis "docker-entrypoint.s..." 7 分前 7 分前にアップ 0.0.0.0:6379->6379/tcp redis
0a122a08125f mysql:5.7.29 "docker-entrypoint.s..." 5 週間前 約 1 時間前 0.0.0.0:3306->3306/tcp, 33060/tcp mysql57
truedei@truedei:~$ 

ここに画像の説明を挿入

ログを確認することができます: sudo docker logs redis

truedei@truedei:~$ sudo docker ログ redis
1:C 2020年5月29日 01:16:22.107 # oO0OoO0OoO0Oo Redisが起動しています oO0OoO0OoO0Oo
1:C 2020年5月29日 01:16:22.107 # Redis バージョン=6.0.3、ビット=64、コミット=00000000、変更=0、pid=1、開始しました
1:C 2020年5月29日 01:16:22.107 # 設定が読み込まれました
                _._                                                  
           _.-``__ ''-._                                             
      _.-`` `. `_. ''-._ Redis 6.0.3 (00000000/0) 64 ビット
  .-`` .-```. ```\/ _.,_ ''-._                                   
 ( ' , .-` | `, ) スタンドアロンモードで実行中
 |`-._`-...-` __...-.``-._|'` _.-'| ポート: 6379
 | `-._ `._ / _.-' | PID: 1
  `-._ `-._ `-./ _.-' _.-'                                   
 |`-._`-._ `-.__.-' _.-'_.-'|                                  
 | `-._`-._ _.-'_.-' | http://redis.io        
  `-._ `-._`-.__.-'_.-' _.-'                                   
 |`-._`-._ `-.__.-' _.-'_.-'|                                  
 | `-._`-._ _.-'_.-' |                                  
  `-._ `-._`-.__.-'_.-' _.-'                                   
      `-._ `-.__.-' _.-'                                       
          「-._ _.-」                                           
              「-.__.-」                                               

1:M 2020 年 5 月 29 日 01:16:22.108 # 警告: /proc/sys/net/core/somaxconn が 128 という低い値に設定されているため、TCP バックログ設定 511 を適用できません。
1:M 2020年5月29日 01:16:22.108 # サーバーが初期化されました
1:M 2020 年 5 月 29 日 01:16:22.108 # 警告: overcommit_memory が 0 に設定されています。メモリ不足の状況ではバックグラウンド保存が失敗する可能性があります。この問題を修正するには、/etc/sysctl.conf に 'vm.overcommit_memory = 1' を追加して再起動するか、コマンド 'sysctl vm.overcommit_memory=1' を実行してこれを有効にします。
1:M 2020 年 5 月 29 日 01:16:22.108 # 警告: カーネルで Transparent Huge Pages (THP) サポートが有効になっています。これにより、Redis で遅延とメモリ使用量の問題が発生します。この問題を修正するには、コマンド 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' を root として実行し、再起動後も設定が保持されるように /etc/rc.local に追加します。THP を無効にした後は、Redis を再起動する必要があります。
1:M 2020年5月29日 01:16:22.108 * 接続を受け入れる準備ができました
truedei@truedei:~$ 

ここに画像の説明を挿入

これで、docker での redis の最も詳細なインストールと構成 (画像とテキスト付き) に関するこの記事は終了です。docker での redis のインストールと構成に関するより関連性の高いコンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、次の関連記事を引き続き参照してください。今後も 123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • DockerにRedisをインストールし、設定ファイルとして起動する詳細な説明
  • Dockerはredis 5.0.7をインストールし、外部構成とデータの問題をマウントします

<<:  ウィンドウ表示効果を実現するJavaScript

>>:  HTML における DTD の使用法の概要

推薦する

Docker環境を構築する簡単な方法

まず、Docker とは何かを理解しましょう。 Docker は、アプリケーションをデプロイするため...

MySQL データベース グループ クエリの group by ステートメントの詳細な説明

1: グループ化関数の記述順序 1 選択 ... 2 から ... 3 どこで ... 4 グループ...

iframe でページを開く方法

解決:リンクのターゲット属性値をターゲット フレームワーク名と同じに設定するだけです。具体的な手順:...

1 つの記事で Vuex を理解する

目次概要Vuex の 4 つの主要オブジェクト状態の使用突然変異の使用ゲッターの使用アクションの使用...

CSS3+JavaScript を使用したクールな呼吸効果のサンプル コード

CSS3 アニメーションで実現したシンプルでクールな効果。最終的な効果は次のようになります。 ページ...

Centos7 で Java8 と MySQL をインストールしてデプロイする

通常、Java の学習とプロジェクトのデプロイはローカルで行われますが、実稼働環境は Linux 環...

Bash スクリプトを使用して Linux のメモリ使用量を監視する方法

序文Linux システムのパフォーマンスを監視するために使用できるオープンソースの監視ツールが市場に...

Tomcat のメモリ構成の正しい姿勢についての簡単な説明

1. 背景多くのブログや記事を読みましたが、JVM のメモリ割り当て方法に関する包括的な記事は見つか...

mysql 計算関数の詳細

目次2. フィールドの連結2. MySQL関数の例をいくつか挙げてください。 2.1 シンボル処理2...

HTML iframe 使用状況の概要の収集

Iframe 使用状況の詳細な分析<iframe frameborder=0 width=17...

MySQL テーブルデータのインポートとエクスポートの例

この記事では、MySQL テーブル データのインポートおよびエクスポート操作について説明します。ご参...

CSSアニメーションがJSによってブロックされるかどうかについての簡単な議論

CSS のアニメーション部分は JS によってブロックされますが、transform のアニメーショ...

vue3 タイムスタンプ変換 (フィルターを使用せずに)

vue2 では、タイムスタンプを変換するときに、通常はフィルターを使用します。vue3 以降では、...

DockerコンテナはホストのMySQL操作にアクセスする

背景:インターフェイスを提供する Flask プロジェクトがあり、これは Docker コンテナを使...

SSMプロジェクトは、ホットデプロイメント構成を実装するためにTomcatとMavenを使用してWARパッケージとしてデプロイされることが多い。

背景ご存知のとおり、JavaEE プロジェクトを開発した後は、そのプロジェクトをサーバーの Tomc...