SpringBoot でマイクロサービスを構築するために Docker を使用した実際の記録を分析する

SpringBoot でマイクロサービスを構築するために Docker を使用した実際の記録を分析する

それは何ですか?

Spring Boot は、Spring オープンソース組織のサブプロジェクトであり、Spring コンポーネントのワンストップ ソリューションです。Spring の使用の難しさを簡素化し、複雑な構成を省き、開発者がすぐに使い始められるようにさまざまなスターターを提供します。


なぜそれを使うのですか?

5つの利点:

1. 開始依存関係 公式には多数の開始依存関係が統合されており、プロジェクトの構築作業が簡素化されます。同時に、開始依存関係は信頼性の高い依存関係管理を提供し、問題のあるバージョンや依存関係の競合がプロジェクトに持ち込まれるリスクを軽減します。

2. 自動構成では、コンポーネントのスキャンと自動構成がオンになります。 exclude パラメータを使用して特定の自動構成を無効にします。

3. アプリケーション監視 Spring Boot 監視の中核は、spring-boot-starter-actuator 依存関係です。依存関係を追加すると、Spring Boot は、jvm 監視、クラス ローディング、ヘルス監視などの一般的な監視をデフォルトで構成します。 Actuator プラグインは、SpringBoot によってネイティブに提供されるサービスです。エンドポイント ルーティングを公開することで、アプリケーション内の多くのエンドポイント情報を出力するために使用できます。

4. 独立した操作 SpringBoot には Tomcat コンテナが組み込まれており、実行するメインメソッドを直接実行できます。プロジェクトのデプロイメントは jar ファイルにパッケージ化でき、java -jar コマンドを実行してサーバー上でサービスを実行できます。

5. ホットデプロイメントプロジェクトの開発中、ページデータやデータ構造は頻繁に変更されます。変更の効果を表示するには、アプリケーションを再起動して変更の効果を確認する必要があります。実際には、再コンパイルして新しいクラスファイルを生成します。このファイルにはコードに対応するさまざまな情報が記録され、その後、クラスファイルは仮想マシンの ClassLoader によってロードされます。

ホットデプロイメントはこの機能を活用します。クラスファイルが変更されたことを検出すると、ファイルをロードするための新しい ClassLoader が作成されます。一連のプロセスの後、結果が表示されます。


場合

1. Springbootマイクロサービスを開発する

2. Springbootアプリケーションをパッケージ化する

パッケージには一般的に2つの形式があり、この場合はjarを使用します
戦争移行トムキャット
jar メインストリーム jdk

3. プロジェクトをパッケージ化する

aliyun-sdk-oss-2.6.1.jar

4. サーバーにDockerfileディレクトリを作成する

mkdir /root/springboot

このディレクトリにjarパッケージをアップロードし、Java環境イメージopenjdk /root/springbootをロードします。

ここに画像の説明を挿入

Dockerfileを作成する
vim Dockerファイル

openjdk:8-jre から
ワークディレクトリ /app
aliyun-sdk-oss-2.6.1.jar app.jarを追加します。
エクスポーズ8080
エントリポイント ["java","-jar","app.jar"]

5. イメージを構築する
ビルドを実行します。

ここに画像の説明を挿入

6. コンテナを実行する
docker run -d -p 8081:8080 --name registry1 app1 bash
コンテナを表示します:

ここに画像の説明を挿入


docker と SpringBoot を使ってマイクロサービスを構築した実践記録の分析に関するこの記事はこれで終わりです。docker と SpringBoot を使ったマイクロサービスの構築に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Springboot マイクロサービス パッケージング Docker イメージ プロセスの分析
  • SpringBoot+SpringCloud ユーザー情報マイクロサービス配信実装分析
  • SpringBoot統合gRPCマイクロサービスエンジニアリング構築実践法

<<:  HTML 適応テーブル方式

>>:  MySQL データベースの最適化に関する 9 つのヒント

推薦する

初心者のためのWebサイト構築入門 ③ エイリアス(CNAME)レコードとURL転送

①. エイリアス(CNAME)レコードの使用方法:前回の投稿のドメイン名解決では、A レコードの解...

VM VirtualBox 仮想マシンのマウント共有フォルダ

一つの環境CentOS 7にVMware Toolsをインストールしてホストの共有フォルダへのアクセ...

MySQL が「operate_time」エラーのデフォルト値が無効であると報告する問題を解決する

データベースでcreate tableステートメントを実行する テーブル `sys_acl` を作成...

CSS が最初のサイクルで画像を読み込むために @keyframes を使用するときに発生するホワイトギャップの問題 (フラッシュ画面) をすばやく解決します。

問題の説明: CSS アニメーション プロパティを使用すると、ループが最初に読み込まれたときに白いギ...

ウェブサイトのデザインでは色の階層感覚に注意を払う必要があります

最近、私はデザインには階層感覚が必要だと言っています。この階層感覚には、色の重ね合わせや要素の重ね合...

MySQL の JSON 挿入の問題

MySQL 5.7.8 以降では、JSON テキストでデータを効率的に取得できるネイティブ JSON...

Mac でソースコードから MySQL 5.7.17 をコンパイルしてインストールするチュートリアル

1. ダウンロードして解凍します: /Users/xiechunping/Softwares/mys...

IDEA 構成の Tomcat 起動エラーの問題を解決する

異なるサーブレット パスを構成するときに、次の 2 つのエラーが発生しました。 java.lang....

ReactJs 基礎チュートリアル - 基本編

目次1. ReactJS の紹介2. ReactJSの理解とReactJSの利点1. ReactJS...

WeChatミニプログラムの基本チュートリアル:Echartの使用

序文まずは最終的な効果を見てみましょう。私が自分で作った小さなデモです。まずEChartsの公式サイ...

MySQL 5.7.20 のインストールと設定方法のグラフィック チュートリアル (win10)

この記事では、MySQL 5.7.20のインストールと設定方法を参考までに紹介します。具体的な内容は...

IE7でソースファイルを含むページを開くとページが空白になる問題の解決方法

質問:私のブログのエンコーディングは utf-8 です。ページを開くと空白になっていることもあります...

mysql5.7.18のインストールと初期パスワードの変更方法

CentosでのMySQLのインストールについては、以前の記事を参照してください。 Centos7....

MacOS での MySQL 8.0.18 のインストールと設定方法のグラフィック チュートリアル

この記事では、MacOSでのMySQL 8.0.18のインストールと成功したコマンドライン操作を記録...

MySQL最新バージョン8.0.17解凍版インストールチュートリアル

個人的にはインストール版よりも解凍版の方がインストールしやすいと思います。早速、解凍版のインストール...