Docker の基本的な手順: アップデートパッケージ yum -y アップデート Docker仮想マシンをインストールする(centos 7) yum インストール -y docker Docker仮想マシンを実行、再起動、シャットダウンする サービスdocker開始 サービス docker 停止 検索ミラー docker イメージ名の検索 画像をダウンロード docker pull イメージ名 ミラーを見る Docker イメージ 画像の削除 docker rmi イメージ名 コンテナの実行 docker run 起動パラメータ イメージ名 コンテナリストを表示 ドッカーps -a Java 環境を使用する場合は、次のようにします。 検索: [root@VM_71_225_centos ~]# docker search java インデックス 名前 説明 星 公式 自動化 docker.io docker.io/node Node.js は JavaScript ベースのプラットフォームです... 5752 [OK] docker.io docker.io/tomcat Apache Tomcat はオープンソースの実装です... 1891 [OK] docker.io docker.io/java Java は並行、クラスベース、オブジェクト指向の... 1745 [OK] docker.io docker.io/openjdk OpenJDK はオープンソースの実装です... 1031 [OK] ダウンロード: [root@VM_71_225_centos ~]# docker pull docker.io/java デフォルトタグの使用: 最新 リポジトリ docker.io/library/java をプルしようとしています... 最新: docker.io/library/java からプル 5040bd298390: ダウンロード中 [=> ] 1.572 MB/51.36 MB 走る: [root@VM_71_225_centos ~]# docker run -it --name myjava docker.io/java bash ルート@25623e12b759:/# java -i: コンテナを対話モードで実行します。通常は -t と一緒に使用されます。 -t: コンテナの疑似入力端子を再割り当てします。通常は -i と一緒に使用されます。 PXC クラスターをインストールします (ここでは MySQL PXC クラスターとレプリケーション クラスターの長所と短所については説明せず、PXC クラスター ソリューション [マルチノード バックアップと強力な関連付け] を選択します)。 PXCイメージのインストール docker pull percona/percona-xtradb-cluster ローカル画像を表示 [root@VM_71_225_centos ~]# docker イメージ リポジトリ タグ イメージ ID 作成 サイズ docker.io/hello-world 最新 e38bc07ac18e 2 か月前 1.85 kB docker.io/percona/percona-xtradb-cluster 最新 f1439de62087 3 か月前 413 MB docker.io/java 最新 d23bdf5b1b1b 17 か月前 643 MB docker.io/percona/percona-xtradb-cluster は長すぎるので、名前を変更します。 [root@VM_71_225_centos ~]# docker tag percona/percona-xtradb-cluster pxc [root@VM_71_225_centos ~]# docker イメージ リポジトリ タグ イメージ ID 作成 サイズ docker.io/hello-world 最新 e38bc07ac18e 2 か月前 1.85 kB docker.io/percona/percona-xtradb-cluster 最新 f1439de62087 3 か月前 413 MB pxc 最新 f1439de62087 3か月前 413 MB docker.io/java 最新 d23bdf5b1b1b 17 か月前 643 MB net1 ネットワーク セグメントを作成します。 docker ネットワーク作成 --subnet=172.18.0.0/16 net1 5 つのデータ ボリュームを作成します (pxc はホスト マシンのデータに直接アクセスできないため、5 つの docker データ ボリュームを作成します) docker ボリューム作成 v1 docker ボリューム作成 v2 docker ボリューム作成 v3 docker ボリューム作成 v4 docker ボリューム作成 v5 データ ボリュームの場所を表示します。 [root@VM_71_225_centos コード]# docker inspect v1 [ { "ドライバー": "ローカル", 「ラベル」: {}, 「マウントポイント」: 「/var/lib/docker/volumes/v1/_data」、 「名前」: 「v1」、 「オプション」: {}, 「スコープ」: 「ローカル」 } ] 5ノードのPXCクラスタを作成する #最初の MySQL ノードを作成します。 docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=abc123456 -v v1:/var/lib/mysql -v backup:/data --privileged --name=node1 --net=net1 --ip 172.18.0.2 pxc 2 番目のノードを作成する前に 2 分間待機します。2 番目のノード インスタンスを開始する前に、最初のノードがインスタンス化されるまで待機します。そうしないと、即座に停止します。 追加のノードを作成します。 # 2 番目の MySQL ノードを作成します。 docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=abc123456 -e CLUSTER_JOIN=node1 -v v2:/var/lib/mysql -v backup:/data --privileged --name=node2 --net=net1 --ip 172.18.0.3 pxc #3 番目の MySQL ノードを作成します。 docker run -d -p 3308:3306 -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=abc123456 -e CLUSTER_JOIN=node1 -v v3:/var/lib/mysql --privileged --name=node3 --net=net1 --ip 172.18.0.4 pxc # 4 番目の MySQL ノードを作成します。 docker run -d -p 3309:3306 -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=abc123456 -e CLUSTER_JOIN=node1 -v v4:/var/lib/mysql --privileged --name=node4 --net=net1 --ip 172.18.0.5 pxc # 5 番目の MySQL ノードを作成します。 docker run -d -p 3310:3306 -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=abc123456 -e CLUSTER_JOIN=node1 -v v5:/var/lib/mysql -v backup:/data --privileged --name=node5 --net=net1 --ip 172.18.0.6 pxc 任意の MySQL ノードにデータベースを作成するためのテスト: mysql -h 172.18.0.3 -uroot -pabc123456 mysql> データベーステストを作成します。 クエリは正常、1 行が影響を受けました (0.03 秒) 他のノード データベースにログインすると、それらが同期されて単純な MySQL クラスターが形成されていることがわかります。 高可用性と負荷分散のためにHaproxyをインストールする プルハプロキシ docker プル haproxy Haproxy 設定ファイルの書き込み vi /home/soft/haproxy.cfg 設定ファイルは次のとおりです。 グローバル #作業ディレクトリ chroot /usr/local/etc/haproxy #ログファイル、rsyslogサービス内のlocal5ログデバイス(/var/log/local5)を使用、レベル情報 ログ 127.0.0.1 local5 情報 #デーモンプロセス実行中のデーモン デフォルト ロググローバル モード http #ログフォーマットオプション httplog # ロードバランシングのハートビート検出記録をログに記録しないオプション dontlognull #接続タイムアウト(ミリ秒) タイムアウト接続5000 #クライアントタイムアウト(ミリ秒) タイムアウトクライアント 50000 #サーバーのタイムアウト(ミリ秒) タイムアウトサーバー50000 #監視インターフェース listen admin_stats #監視インターフェースアクセス IP とポートバインド 0.0.0.0:8888 #アクセスプロトコルモード http #URI 相対アドレス 統計 uri /dbs #統計レポート formatstats realm グローバル\統計 #ログインアカウント情報統計認証管理者:abc123456 #データベース負荷分散 listen proxy-mysql #アクセスIPとポートバインド0.0.0.0:3306 #ネットワークプロトコルモード tcp #負荷分散アルゴリズム(ラウンドロビンアルゴリズム) # ポーリングアルゴリズム: ラウンドロビン #重み付けアルゴリズム: static-rr # 最小接続アルゴリズム: leastconn #リクエスト元IPアルゴリズム: ソース バランスラウンドロビン #ログフォーマットオプション tcplog #MySQL に権限のない haproxy ユーザーを作成し、パスワードを空に設定します。 Haproxyはこのアカウントを使用してMySQLデータベースオプションmysql-check user haproxyでハートビート検出を実行します サーバー MySQL_1 172.18.0.2:3306 チェックウェイト 1 maxconn 2000 サーバー MySQL_2 172.18.0.3:3306 チェックウェイト 1 maxconn 2000 サーバー MySQL_3 172.18.0.4:3306 チェックウェイト 1 maxconn 2000 サーバー MySQL_4 172.18.0.5:3306 チェックウェイト 1 maxconn 2000 サーバー MySQL_5 172.18.0.6:3306 チェックウェイト 1 maxconn 2000 #キープアライブを使用してデッドリンクを検出するオプション tcpka 最初のHaproxy負荷分散サーバーを作成する 次のようにコードをコピーします。 docker run -it -d -p 4001:8888 -p 4002:3306 -v /home/soft/haproxy:/usr/local/etc/haproxy --name h1 --privileged --net=net1 --ip 172.18.0.7 haproxy h1コンテナに入り、Haproxyを起動します。 docker exec -it h1 bash haproxy -f /usr/local/etc/haproxy/haproxy.cfg 起動が成功したかどうかを確認します。 http://ip:4001/dbs にアクセスしてください ダブルクリックホットスタンバイを実装するためにkeepaliveをインストールする 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: SSHトンネルを使用してMySQLサーバーに接続する方法
>>: Vue イベントの $event パラメータ = イベント値の場合
目次1. ルーティングアニメーション2. グループクエリとスタガー1. ルーティングアニメーションル...
ReactライフサイクルReactのライフサイクルを理解するのに役立つ2つの図React ライフサイ...
最近、要素テーブルを使用すると、並べ替えの問題によく遭遇します。単純な並べ替えであれば、要素の公式が...
1. 需要バックエンドは、フロントエンドがツリー構造(重複データなし)に変換するためのデータを提供し...
<br />改行タグの使用<br>改行タグ<br>は終わりのない...
この記事では、例を使用して、MySQL ストアド プロシージャでのループ ステートメント (WHIL...
META タグは、HTML 言語のヘッダー領域にある補助タグです。作成者、日時、Web ページの説明...
<iframe src="./ads_top_tian.html" all...
目次序文プロミスチェーンMDN エラー連鎖デフォルト処理略語非同期待機序文この記事を書いた理由は、ユ...
目次序文例まとめ序文Vue の親子コンポーネントは、props を通じて親コンポーネントの値を子コン...
Canal は、Java を使用して開発された Alibaba のオープンソース プロジェクトです...
ストアド関数ストアド関数とは: SQL コードの一部をカプセル化し、特定の関数を完了して、結果を返し...
バージョン番号を非表示バージョン番号は非表示になっていません。セキュリティを強化するために、バージョ...
目次バックエンド: Rails API部分フロントエンド: React部分Reactコンポーネントa...
CSS で要素の水平方向と垂直方向の中心を設定することは、非常に一般的な要件です。しかし、理論的には...