DockerはRedis5.0をビルドし、データをマウントします

DockerはRedis5.0をビルドし、データをマウントします

DockerでRedis5.0をビルドし、データをマウントするまでの過程を記録します。ビルドの参考資料はDocker Hubから

1. 永続データの簡単なマウント

docker run -d -p 6379:6379 --name redis \
-v /itwxe/dockerData/redis/data:/data \
redis:5.0.8 redis-server --appendonly yes

これはデータをマウントするだけです。Redis にはパスワードやその他の設定がないため、誰でも接続できます。サーバーがパブリック ネットワーク上にある場合は、非常に危険です。

そこでいつものようにコンテナに入ってredisの設定ファイルがどこにあるかを調べ、設定してマウントしてみました。その結果、コンテナ内にredis.confファイルが存在しないことがわかりました。

Docker Hub には、DockerFile を使用してイメージをビルドするには redis.conf をカスタマイズする必要があると記載されています。

Dockerはカスタム構成を使用してRedisイメージを構築します

2. DockerFileでイメージをビルドし、設定ファイルを指定して起動する

1. まず、Redis の公式 Web サイトにアクセスして、ミラー バージョンと一致するバージョンをダウンロードします。私のバージョンは 5.0.8 です。次に、ファイルを解凍し、redis.conf をサーバーにアップロードします。

2. redis.conf 設定を変更します。主な設定は次のとおりです。必要に応じて変更してください。

# バックグラウンド起動を変更します。デフォルトは daemonize no です。docker 起動がデフォルトです。バックグラウンド起動により、コンテナは daemonize no で終了します。

# クライアントが切断されるまでのアイドル時間の長さ。この機能を無効にするにはデフォルト値は 0 です。タイムアウト 0

# パスワードを設定します。デフォルトではコメントアウトされていますが、コメントアウトを解除してカスタムパスワードに変更します (私のパスワードは 123456 です)
パスワード 123456

# リスニング IP、許可されたアクセス IP、デフォルトは 127.0.0.1 ですが、0.0.0.0 に変更 (すべてのサーバー IP がアクセスできるようにする) するか、bind 0.0.0.0 をコメントアウトします

#リスニングポートを指定します。デフォルトは6379です。ここではデフォルトポート6379のままにします。

# AOFの永続性を有効にするかどうか。デフォルトはno
追加のみ はい

# AOFとRBDの保存パスを変更します。デフォルトは./ですが、/dataに変更します。
ディレクトリ /data

# ログ保存パスを変更します。デフォルトは "" ですが、これを "/data/redis_6379.log" に変更します。
ログファイル "/data/redis_6379.log"

3. Dockerfile ファイルを作成し、コンテンツを追加します。Dockerfile の使い方がわからない場合は、DockerFile を参照してイメージを構築してください。

redis:5.0.8より
redis.conf をコピー /usr/local/etc/redis/redis.conf
CMD ["redis-server", "/usr/local/etc/redis/redis.conf"]

4. イメージをビルドします。

ビルドは -t itwxe/redis:5.0.8 です。

カスタム構成のRedisイメージを構築する

5. ビルドしたイメージを起動し、データをマウントします。

docker run -d -p 6379:6379 --name redis \
-v /itwxe/dockerData/redis/data:/data \
itwxe/redis:5.0.8

データが正常にマウントされていることがわかります。

Redisイメージを自動的にカスタマイズする

同時に、パスワードをテストして正常に接続することもできます。

Redisコンテナ接続をカスタマイズする

これで、Docker で Redis 5.0 を構築し、データをマウントする方法についての記事は終了です。Docker で Redis を構築する方法についての詳細は、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • DockerコンテナにRedisをデプロイする手順の紹介
  • Redis イメージの Docker インストールと設定手順
  • DockerにRedisコンテナをインストールするための実装手順

<<:  HTMLでは、全体的なスタイルとレイアウトを崩さずに、部分的に強制スクロールバーを使用できます。

>>:  SQL ファジー クエリ レポート: ORA-00909: パラメータの数が無効です。解決策

推薦する

Vue-router は現在の場所 (/path) へのナビゲーションを許可しません。エラーの原因と修正

目次エラーメッセージ原因エラーのデモンストレーション回避策方法1方法2方法3エラーメッセージ現在の場...

JavaScript で二分探索木を実装する

JavaScriptでの検索二分木実装は参考までに。具体的な内容は以下のとおりです。バイナリ検索木 ...

Node.jsはMySQLデータベースの実戦記録を追加、削除、変更、チェックします

目次プロジェクトでデータベースを操作する3つのステップデータベースを操作するための具体的な手順1: ...

シンプルなウェブページレイアウトの構造と表現原理の共有

構造とパフォーマンスの紹介HTML 構造、CSS 表現、JavaScript 動作。Web ページの...

Innodb で MySQL の 2T テーブルをすばやく削除する方法の例

序文この記事は主に、MySQL の Innodb で 2T の大きなテーブルをすばやく削除する方法に...

HTML で js を使用してローカル システム時間を取得する

コードをコピーコードは次のとおりです。 <div id="名前"> ...

MySQLの主キーと外部キーの使用と説明を簡単に説明します

目次1. 外部キー制約外部キーとは何ですか?外部キーを使用する条件:外部キーの定義構文は次のとおりで...

MySQL 完全折りたたみクエリ正規マッチングの詳細な説明

概要前の章では、クエリのフィルター条件について学習しました。MySQL では、like % ワイルド...

MySQL でストアド プロシージャを作成し、ループでレコードを追加する方法

この記事では、例を使用して、MySQL でストアド プロシージャを作成し、ループでレコードを追加する...

Linux exa コマンド (ls よりも優れたファイル表示エクスペリエンス)

インストールREADMEに従ってインストールしてくださいドキュメントには、exa は Rust で実...

Vue の NetEase Cloud Music Player インターフェースを模倣したシンプルな実装プロセス

仕事のプロジェクトのニーズにより、曲の再生が必要となり、さまざまな資料を参考にして、NetEase ...

あなたのウェブサイトはIE8に適していますか?

オリンピック期間中にIE8ベータ2がリリースされ、英語版のリリースに合わせて中国語版も第一波でリリー...

VMwareがモジュールディスクを早期に開けない場合の解決策の詳細な説明

VMWare (Virtual Machine ware) は、「仮想 PC」ソフトウェア会社です。...

Nginx のステータス監視とログ分析の詳細な説明

1. Nginx ステータス監視Nginx には、Nginx の全体的なアクセス ステータスを監視す...

nginx+WordPressで個人ブログを構築するプロセス全体の詳細な説明

0x00 はじめにWordPress は、世界で最も人気のある CMS システムです。PHP と M...