CentOS 6 は Docker を使用して Redis マスター スレーブ データベース操作例を展開します

CentOS 6 は Docker を使用して Redis マスター スレーブ データベース操作例を展開します

この記事では、Docker を使用して Centos6 に Redis マスター/スレーブ データベース操作をデプロイする方法について説明します。ご参考までに、詳細は以下の通りです。

ディレクトリ構造:

/レディス

/Dockerファイル

/Readme

/redis-3.2.8.tar.gz

./start.sh

Dockerファイル:

Centosより
メンテナー qiongtao.li [email protected]
./redis-3.2.8.tar.gz /optを追加します。
./start.sh /opt/start_redis.sh を追加します。
RUN echo "Asia/shanghai" > /etc/timezone \
 && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
 && yum -y gccをインストール make \
 && ln -s /opt/redis-3.2.8 /opt/redis \
 && cd /opt/redis && make && make install
エクスポーズ6379
エントリポイント ["sh", "/opt/start_redis.sh"]

スタート

役割=$1
ポート=6379
パスワード=Abc123
redis_conf = /opt/redis/redis.conf
dir=/data/redis
ログファイル=/data/redis/redis.log
mkdir -p $dir
sed -i "s|bind 127.0.0.1|bind 0.0.0.0|g" $redis_conf
sed -i "s|# requirepass foobared|requirepass ${password}|g" $redis_conf
sed -i "s|dir ./|dir ${dir}|g" $redis_conf
sed -i "s|ログファイル \"\"|ログファイル ${logfile}|g" $redis_conf
[ "$role" == "slave" ] の場合;
 「スレーブ」をエコーする
 sed -i "s|# slaveof <マスターIP> <マスターポート>|slaveof redis-master ${port}|g" $redis_conf
 sed -i "s|# masterauth <マスターパスワード>|masterauth ${パスワード}|g" $redis_conf
それ以外
 「マスター」をエコーする
フィ
redis サーバー $redis_conf

お読みください

docker rm -f redis-マスター redis-スレーブ-1 redis-スレーブ-2
docker rmi -f redis
ビルド -t redis 。
docker run -d --name redis-master redis
docker run -d --name redis-slave-1 --link redis-master:redis-master redisスレーブ
docker run -d --name redis-slave-2 --link redis-master:redis-master redisスレーブ
ドッカーps -a
docker exec redis-master redis-cli -a Abc123 名前 hnatao を設定する
docker exec redis-master redis-cli -a Abc123 名前を取得する
docker exec redis-slave-1 redis-cli -a Abc123 名前を取得する
docker exec redis-slave-2 redis-cli -a Abc123 名前を取得する
docker exec redis-master grep -E "bind|dir|require|logfile|slaveof|masterauth" /opt/redis/redis.conf
docker exec redis-slave-1 grep -E "bind|dir|require|logfile|slaveof|masterauth" /opt/redis/redis.conf
docker exec redis-slave-2 grep -E "bind|dir|require|logfile|slaveof|masterauth" /opt/redis/redis.conf
docker exec redis-master redis-cli -a Abc123 情報
docker exec redis-slave-1 redis-cli -a Abc123 情報
docker exec redis-slave-2 redis-cli -a Abc123 情報

インストールと展開をテストする

cat Readme|行を読み取りながら、$line を実行します。完了

この記事が Docker コンテナの使用に役立つことを願っています。

以下もご興味があるかもしれません:
  • Docker ベースの Redis マスタースレーブ クラスタの実装
  • Docker を使用した Redis マスタースレーブレプリケーションの実践の詳細説明
  • docker を使用して Redis マスター/スレーブを構築する方法
  • Docker を使用して Redis マスター スレーブ レプリケーション クラスターを構築する
  • Docker での Redis のマスタースレーブ構成チュートリアルの詳細説明
  • Docker ベースの Redis マスタースレーブ + センチネルの構築例

<<:  Vueの監視方法のケースの詳細な説明

>>:  Vueのメソッドとプロパティの詳細な説明

推薦する

Docker は固定コンテナ IP アドレスを実現するためにカスタム ネットワークを作成します。

デフォルトのブリッジ ネットワークのため、コンテナーを再起動すると IP アドレスが変更されます。シ...

MySql 組み込み関数の自習知識ポイントまとめ

文字列関数文字ascii(str)のASCIIコード値をチェックし、strが空の文字列の場合は0を返...

CentOS8でのnmcliの使い方の詳しい説明

RHEL8/CentOS8 に基づく一般的な nmcli コマンド # IP を表示する (ifco...

Expressはログイン認証を実装

この記事では、ログイン認証を実装するためのExpressの具体的なコードを例として紹介します。具体的...

LeetCode の SQL 実装 (182. 重複するメールボックス)

[LeetCode] 182.重複メールPerson という名前のテーブル内のすべての重複メールを...

Zabbix は DingTalk のアラーム機能を画像付きで設定します

実装のアイデア:まず、アラーム情報にはitemidが必要です。これは前提条件です。情報に渡されるパラ...

Linux にソフトウェアをインストールするときにソフトウェア パッケージが存在しない問題を解決する方法

ソフトウェア パッケージが存在しない場合は、インストールされているソフトウェアのソフトウェア ソース...

Docker ビルド kubectl イメージ実装手順

プログラムサービスがgitlab ci/cdと統合されたk8sを使用してデプロイされている場合、gi...

MySQL スケジュール データベース バックアップ (フル データベース バックアップ) の実装

目次1. MySQLデータのバックアップ1.1. データをバックアップするためのmysqldumpコ...

2つのLinuxサーバー間でファイルとフォルダを転送する手順

今日、私はプロジェクトの移行の問題に取り組んでいましたが、突然、大量の写真をどうやって移動したらよい...

ElementUI ページネーション コンポーネントの使い方 Vue でのページネーション

ElementUIページングコンポーネントPagination in Vueの使用は参考になります。...

Gitlab実践チュートリアルでは、関連する設定操作にgit configを使用します。

この記事では、実際に発生した問題をもとに、git の設定に関する内容を紹介します。コマンド: git...

ヘッダーのチェックボックスをテキスト実装コードに変更するための選択テーブルを持つ要素

方法1: テーブル属性を使用する: header-cell-class-name テーブルインターフ...

MySQLデータベースにパスワードを入力した後にフラッシュバックする問題の解決策

パスワード入力後にMySQLデータベースがクラッシュする問題と解決策1 ケースの説明最近、基本的な機...

WeChatアプレットwebViewにH5を埋め込む方法の例

序文WeChat ミニプログラムは新しいオープン機能を提供します!ついにミニプログラムにHTMLペー...