Apollo オープンソース アドレス: https://github.com/ctripcorp/apollo 最初のステップ プロジェクトをローカルにクローンし、GitHub のリリース ページから 3 つの zip ファイルをダウンロードします。 この記事では、2019年1月時点の最新バージョン1.2.0の展開方法に焦点を当てています。 ステップ2 クローンしたローカルプロジェクトを開くと、ディレクトリ構造は次のようになります。 ステップ3 このディレクトリに docker-compose.yml ファイルを作成し、次の内容を記述します。 バージョン: "3" サービス: apollo-configservice: ##コンテナサービス名container_name: apollo-configservice ##コンテナ名build: apollo-configservice/src/main/docker/ ##Dockerファイルパスimage: apollo-configservice ##イメージ名ports: - 「9180:8080」 ボリューム: - "/opt/logs/100003171" ## ホスト環境でログを表示しやすくするために、/opt/logs/100003171 ディレクトリをホストの /Users/mobin/opt/logs/100003171 にマウントします。 - spring_datasource_url=jdbc:mysql://192.168.31.136:3306/ApolloConfigDB?characterEncoding=utf8 -spring_datasource_username=ルート -spring_datasource_password=123456 アポロ管理サービス: コンテナ名: apollo-adminservice ビルド: apollo-adminservice/src/main/docker/ 画像: apollo-adminservice ポート: - 「9181:8090」 依存: - アポロ構成サービス ボリューム: - "/opt/logs/100003172" 環境: - spring_datasource_url=jdbc:mysql://192.168.31.136:3306/ApolloConfigDB?characterEncoding=utf8 -spring_datasource_username=ルート -spring_datasource_password=123456 アポロポータル: コンテナ名: アポロポータル ビルド: apollo-portal/src/main/docker/ 画像: アポロポータル ポート: - 「9182:8070」 依存: - アポロ管理サービス ボリューム: - "/opt/logs/100003173" 環境: - spring_datasource_url=jdbc:mysql://192.168.31.136:3306/ApolloPortalDB?characterEncoding=utf8 -spring_datasource_username=ルート -spring_datasource_password=123456 ここで 2 つの点に注意してください。 1. ここでは、元のポート 8080、8070、8090 をそれぞれポート 9180、9181、9182 にマッピングします。これは、ポート 8080 およびその他のポートはよく使用されるポートであり、他のプロジェクトと競合する可能性があるためです。 2. mysqlの接続アドレスを変更することを忘れないでください 説明しましょう。Apollo プロジェクトで提供されている quickstart-docker スクリプトを使用しないのはなぜかと疑問に思う人もいるかもしれません。その理由は次のとおりです。 quickstart-docker では、Apollo オープンソース プロジェクト チームが、デプロイメント操作を削減するために、MySQL などの一連の構成を組み込みました。組み込みのものを使用するときは、絶対に使用しません。独自の MySQL データベースにデータを保存したいと考えています。また、quickstart-dockerはデモンストレーションの便宜を図るためのものです ステップ4 最初のステップでダウンロードした3つのzipファイルをそれぞれ次のディレクトリにコピーします。 <1> <2> <3> 知らせ: これら3つのディレクトリは、それぞれapollo-adminservice、apollo-configservice、apollo-portalサービスに対応しています。同時に、これら3つのディレクトリ内のDockerfileファイルをそれぞれ変更する必要があります。Dockerfileファイルを開きます。 ここで、Dockerfile で指定されているバージョン番号は 1.3.0-SNAPSHOT ですが、ダウンロードした zip パッケージのバージョンは 1.2.0 であることがわかります。そのため、これら 3 つの Dockerfile のバージョン番号をそれぞれ変更する必要があります。変更されたファイルは次のとおりです。 ステップ5 mysqlにログインし、以下のフォルダにあるsqlファイルをインポートしてデータベースを初期化します。 インポートが成功すると、さらに2つのデータベースが表示されます。 ステップ6 プロジェクトのapolloフォルダ全体をzipファイルにパッケージ化し、ftpまたはscpコマンドを使用してファイルをcentos7サーバーにアップロードし、サーバー上で次のコマンドを実行します。 apollo.zip を解凍します。 CD アポロ docker-compose を起動 -d 次にコマンド出力が表示されます これは、3 つの Docker コンテナが正常に作成されたことを意味します。 使用 ドッカーps -a Docker サービスを表示 正常に実行されたことが分かりました。ブラウザを開いて、 http://0.0.0.0:9182 Apolloのバックグラウンド管理ページを見ることができます ステップ7 ステップ6では、展開は完了していますが、変更が必要な箇所が2箇所あります。変更しないとエラーが報告されます。 1. アポロポータルコンテナに入る apollo-env環境変数を変更する ローカルメタ = http://localhost:9180 dev.meta = http://localhost:9180 fat.meta=http://localhost:9180 uat.meta = http://localhost:9180 lpt.meta=${lpt_meta} pro.meta=http://localhost:9180 2. ApolloConfigDBデータベースのServerConfigテーブル内のeureka.service.urlフィールドを変更します。 http://localhost:9180/ユーレカ/ 変更が完了したら、apolloの3つのコンテナを再起動します。 知らせ: デフォルトのアカウントはapolloです デフォルトのパスワード: admin apolloにログイン後、システム情報ページを開くと、Home Page Urlがあることがわかります。dockerにデプロイしているため、ここに表示されるIPアドレスが問題です。そのIPアドレスは、Dockerコンテナ内のデフォルトのIPアドレスです。このアドレスが問題なのは、プロジェクトに統合すると、サーバーIPにアクセスするため、Dockerコンテナ内のIPアドレスにアクセスできないためです。統合すると、apollo構成を読み取れないことがわかります。 HomePageUrlを変更する公式の方法が提供されていますが、テストではまだ問題があることがわかりました 公式ソリューション 第3条では HomePageUrl を直接変更することはお勧めしません。最善の解決策は次のとおりです。 アプリケーションに次のコードを追加します 静的{ System.setProperty("Dapollo.configService","http://192.168.XX") } これで、docker を使用して CentOS7 に Apollo Configuration Center をデプロイする方法についての記事は終了です。docker に Apollo Configuration Center をデプロイする方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
かなり前に実装された機能ですが、クリックすると選択したメニュー項目の背景色が白くなることに気付きまし...
序文そこでこのブログを書きました。このブログでは大物の記事からいくつかの知識も推奨しています。侵害が...
1. <body background=画像ファイル名 bgcolor=color text=...
配列メソッドJavaScript には多くの配列メソッドが用意されています。次の図は、ほとんどの配列...
目次1. イメージをプルする2. イメージを実行する3. コンテナ内でアプリケーションをテストする4...
目次バブルソート選択ソート挿入ソート要約するバブルソートバブルソートは、シーケンスの右側から始めて、...
デフォルトでは、Flash は常にページのトップレベルに表示されます。つまり、ページに DHTML ...
目次1. 開発環境2. dockerプラグインをインストールする1. アイデアのインストール2. イ...
Baiduクラウドディスク:リンク: https://pan.baidu.com/s/1hv5rUW...
チュートリアルシリーズMySQL シリーズ: MySQL リレーショナル データベースの基本概念My...
目次序文型推論真理値の絞り込み平等の縮小演算子の絞り込みインスタンスの絞り込み狭まりの本質ユニオン型...
Confluence は有料ですが、クラックして使用できます (購入が推奨され、正規版がサポートされ...
ラジオ ボタンや複数選択ボタンにスタイルを追加する方法や、ボタンを大きくする方法を尋ねる人を以前見か...
序文json を使用したことがある人なら、オブジェクトを文字列化してからバックエンドに送信するのが一...
目次1. 浅いコピー1. Object.assign(ターゲット、ソース、ソース...) 2. スプ...