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 つのヒント

推薦する

Reactにおける不変値の説明

目次不変の値とは何ですか?不変の値を使用するのはなぜですか? Reactのパフォーマンス最適化は不変...

ウェブフロントエンドコードを書く際の考慮事項のまとめ

1. HTMLタグの前に次のような文を追加するのが最適です。 <!DOCTYPE HTML P...

Dockerカスタムネットワークの詳細な紹介

目次Dockerカスタムネットワーク1. カスタムネットワークの紹介2. カスタムネットワークを作成...

Vue でよく使われる高階関数と包括的な例

1. 配列のよく使われる高階関数配列があり、その配列に対して次の操作を実行したいとします。 100 ...

Dockerコンテナを更新、パッケージ化、Alibaba Cloudにアップロードする方法

今回は、実行中のコンテナをイメージにパッケージ化して Alibaba Cloud にアップロードし、...

Vue の高度な使用方法チュートリアル 動的コンポーネント

目次基本的な説明AST 解析レンダリング機能通常コンポーネントと動的コンポーネントの比較ファクトリ関...

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

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

Vue Element フロントエンドアプリケーション開発 テーブルリスト表示

1. リストクエリインターフェースの効果コード処理ロジックを紹介する前に、まずは感覚的に理解し、レン...

reduxの動作原理と使い方の説明

目次1. redux とは何ですか? 2. 還元の原則3. redux の使い方は? (1)redu...

JSが5つ星の賞賛を獲得

この記事では、5つ星の評価を獲得するためのJSの具体的なコードを参考までに共有します。具体的な内容は...

CSSスコープ(スタイル分割)の使用の概要

1. CSSスコープの使用(スタイル分割) Vue では、CSS スタイルを現在のコンポーネントでの...

JS ES の新機能: 拡張演算子の紹介

1. スプレッド演算子スプレッド演算子は 3 つのドット ... で、複数の引数 (関数呼び出しなど...

Vue ダイナミック バインディング アイコンの完全な手順

0 アイコンと画像の違いアイコンは文字であり、画像はバイナリ ストリームです。つまり、画像はアイコン...

nginx における proxy_pass のさまざまな使用法の詳細な説明

目次プロキシ転送ルール最初のもの: 2番目のタイプ: 3番目のタイプ: 4番目のタイプ: 5番目:プ...

入力テキストボックスの入力実装プロパティを無効にする

今日は、開発でよく使われる、非常に便利な HTML タグをいくつかまとめてみたいと思います。これらの...