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 スティッキーレイアウトを使用してヘッダーを上部に配置する方法

推薦する

DOCTYPE 文書型宣言 (Web ページ愛好家必読)

DOCTYPE 宣言 作成するすべてのページの先頭に、ドキュメント宣言が必要です。はい、そうでしょう...

Dockerを使用してSpring Bootプロジェクトをデプロイする手順

目次シンプルなSpringbootプロジェクトを作成する1. pom.xmlでSpring Boot...

HTML の小さなタグの使用に関するヒント

<em></em> などのフレーズ要素を使用すると、意図した視覚スタイルを維...

Linuxはiftopを使用してネットワークカードのトラフィックをリアルタイムで監視します

Linux は iftop を使用してネットワーク カードのトラフィックをリアルタイムで監視します。...

Linux デバイスに空き容量がありません inode の満杯により 500 エラーが発生します

iノードとは何ですか? inode を理解するには、まずファイル ストレージから始める必要があります...

MySQL 8.0.13 zipパッケージのインストール方法について

MySQL 8.0.13 にはデフォルトでデータ フォルダがあります。このフォルダを削除する必要があ...

仮想マシンのディスクサイズを拡張する方法

Vmvare が仮想マシンのディスク サイズを設定した後、ディスク領域が不足していることがわかりまし...

Xmeter APIインターフェーステストツールの使用状況の分析

XMeter API は、以下のサービスを含む、JMeter に基づくワンストップのオンライン イン...

Vueオプションの詳細な説明

目次1. オプションとは何ですか? 2. 含まれる属性3. エントリー属性エルデータ方法コンポーネン...

Linux での Nginx アンチホットリンクと最適化の実装コード

バージョン番号を非表示バージョン番号は非表示になっていません。セキュリティを強化するために、バージョ...

Vue グローバル フィルターの概念、注意事項、基本的な使用方法

目次1. フィルターの概念1. グローバルフィルターのフォーマットをカスタマイズする2. フィルター...

固定ボトムコンポーネントを実装した Vue の例

目次【効果】 【実施方法】 【効果】 【実施方法】 <テンプレート> <div i...

VMware12 に CentOS8 をインストールする方法 (VM 仮想マシンに CentOS8 をインストールするチュートリアル)

数日前に CentOS8 がリリースされました。8 の最初のバージョンですが、今日は VM12 に ...

MySQLの半同期の詳細な説明

目次序文MySQL マスタースレーブレプリケーションMySQL でサポートされているレプリケーション...

HTMLタグと基本要素の学習のまとめ

1. HTML の要素とタグ<br />要素は、1 つのタグまたは 1 組のタグによって...