Docker ケース分析: Redis サービスの構築

Docker ケース分析: Redis サービスの構築

公式の redis イメージを使用してデータベース サービスを構築します。現在の最新バージョンはバージョン 5.0.8 に相当します。データのバックアップと移行を容易にするために、ローカル データ ディレクトリ、構成ディレクトリ、およびログ ディレクトリをマウントします。

1 マウントディレクトリとファイルを作成する

ホスト上に設定ディレクトリ ~/docker/redis/conf、データディレクトリ ~/docker/redis/data、ログディレクトリ ~/docker/redis/log を作成し、設定ディレクトリ内にファイル ~/docker/redis/conf/redis.conf を作成します。設定ファイルの内容は以下のとおりです。

ログファイル /log/redis.log

最終的なディレクトリ構造は次のようになります。

ここに画像の説明を挿入

ここに画像の説明を挿入

2 Redisイメージを取得する

最新の公式バージョンの redis イメージ (現在はバージョン 5.0.8) を使用します。

docker pull redis

3 コンテナを作成して起動する

ローカル構成、データ、およびログ ディレクトリをコンテナーにマウントします。

# --name redis コンテナ名はredisです
# -p 6379:6379 はローカルポート 6379 をコンテナポート 6379 (redis サービスポート) にバインドします
conf:/usr/local/etc/redis/redis.conf -v ~/docker/redis/log/:/log/ -v ~/docker/redis/data:/data -d redis redis-server /usr/local/etc/redis/redis.conf --appendonly yes

コンテナが起動したら、ローカルの ~/docker/redis/log/redis.log を通じて redis 操作ステータスを確認できます。

ここに画像の説明を挿入

4 Redisの使用法

ローカルの redis-cli クライアントを使用して redis に接続し、キー値 v=1 を追加します。いくつかの操作を実行すると、~/docker/redis/data ディレクトリの appendonly.aof ファイルにはすでに関連するデータ コンテンツが含まれています。

ここに画像の説明を挿入

ここに画像の説明を挿入

5 データ移行の影響のシミュレーション

この時点で redis コンテナを停止し、新しい redis コンテナを起動して同じディレクトリをマウントすると、新しいコンテナ内の redis には以前のコンテナのデータがすでに含まれています。

docker run --name redis1 -p 6379:6379 -v ~/docker/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf -v ~/docker/redis/log/:/log/ -v ~/docker/redis/data:/data -d redis redis-server /usr/local/etc/redis/redis.conf --appendonly yes

ここに画像の説明を挿入

さらにカスタマイズされた設定が必要な場合は、ローカルの~/docker/redis/conf/redis.confファイルに追加できます。

公式Redisイメージを参照

上記は私の個人的な経験です。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Docker で Redis クラスターを素早く構築する方法の例
  • Dockerを使用してRedisクラスターを構築する方法
  • Docker を使用して MySQL および Redis サービスをデプロイする方法
  • DockerでRedisをデプロイして起動する方法

<<:  IE10以下のimgタグ問題の解決方法

>>:  CSS スティッキーレイアウトを使用してヘッダーを上部に配置する方法

推薦する

ネイティブ js でカスタム スクロール バーを実装する

この記事の例では、カスタムスクロールバーを実装するためのjsの具体的なコードを参考までに共有していま...

Linux trコマンドの使用

1. はじめにtr はテキストの一部を変換または削除するために使用されます。 tr は transl...

スライダーを作成するためのネイティブ js ドラッグ アンド ドロップ機能のサンプル コード

ドラッグ アンド ドロップはフロントエンドでよく使われる機能であり、多くのエフェクトで js のドラ...

Dockerイメージの作成、保存、読み込み方法

イメージを作成する方法は 3 つあります。既存のイメージに基づいてコンテナを作成する、ローカル テン...

TypeScript 開発のための 6 つの実用的なヒント

目次1. 開発前にエンティティの種類を決定する2. インターフェースをリクエストするときは、使用する...

Dockerを使用してOracle_11gをインストールする方法

DockerでOracle_11gをインストールする1. oracle_11gイメージを取得する d...

React useEffect の理解と使用

目次繰り返しレンダリングループを避ける副作用の除去についてReact16.8 の新しい useEff...

Vueカスタム指示により、ポップアップウィンドウのドラッグ4辺ストレッチと対角ストレッチ効果を実現

導入同社の最近の Vue フロントエンド プロジェクトの要件: ポップアップ ウィンドウのドラッグ、...

Ubuntuがインターネットに接続できない場合の解決策

問題の説明:デスクトップ コンピューターとキャンパス ネットワークを使用して、有線モードでインターネ...

Vue モバイル プロジェクトでページ キャッシュを実装する方法のサンプル コード

背景モバイル デバイスでは、ページ ジャンプ間のキャッシュが必須要件です。例: ホームページ =&g...

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

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

Dockerイメージが消える問題を解決する

1. 50と93では鏡像が消える [root@h50 /]# df -h ファイルシステムの使用済み...

Centos7のホスト名を変更する3つの方法

方法 1: hostnamectl の変更ステップ1 ホスト名を確認するホスト名ステップ2 ホスト名...

MySQLスケーラブル設計の基本原則

目次序文1. スケーラビリティとは何ですか?スケールアウトの利点:スケールアウトのデメリット:スケー...

MySQLの大文字と小文字の区別によって発生する問題の分析

MYSQLは大文字と小文字を区別します言葉を見れば信じられます。タイトルを見れば内容がわかります。 ...