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

推薦する

MySQL の if 関数の正しい使い方の詳細な説明

今日私が書こうとしている内容では、プログラムは 7 時間近く実行され、データベースに 1,000 万...

MySQLのバックアップとリカバリの詳細な説明

序文:前回の記事では、さまざまな MySQL ステートメント構文の使用法とユーザー権限に関する知識を...

MySQLで時間別データと最後の時間別データの差をクエリするアイデアの詳細な説明

1. はじめに要件は、特定の時間範囲内で、1 時間ごとのデータと前の 1 時間ごとのデータの差と比率...

ページコードの変更の効率を向上させ、HTML言語のコア知識を習得します。

ウェブサイトを構築するとき、HTML 言語は重要ではないと思われるかもしれませんが、実際には、基本的...

イメージの起動時にdocker runまたはdocker restartが自動的に終了する問題を解決します

コマンドを実行します: docker run --name centos8 -d centos /b...

DockerコンテナでPythonを実行するディープラーニング環境を構築する方法

タスク マネージャーで仮想化を確認し、有効になっている場合は仮想化を、無効になっている場合はコンピュ...

HTMLで細い線のテーブルを作成する簡単な例

この細線の表を作成する方法については、Baidu で検索すると、表に対して border="...

ノードスクリプトで自動サインインと抽選機能を実現

目次1. はじめに2. 準備3. スクリプトプロジェクトの構築4. コードの作成と実行5. まとめと...

mysql-8.0.19-winx64 をインストールしてログインするための初心者向けチュートリアル (初心者必読)

目次1. インストールパッケージ(64ビット)をダウンロードする2. MySQLデータベースをインス...

この記事ではCSSボーダーの使い方を説明します

境界線のスタイルborder-style プロパティは、表示する境界線の種類を指定します。 bord...

カーソル ループを使用して、MySQL ストアド プロシージャで一時テーブルを読み取る

カーソルカーソルは、結果セット内のデータを表示または処理するために使用される方法です。カーソルを使用...

Python Flask WeChat アプレットのログインプロセスとログイン API 実装コード

1. まずは効果を見てみましょうインターフェース要求によって返されるデータ: 2. 公式ログインフロ...

Nginx アクセス ログとエラー ログ パラメータの説明

例: nginx ログには、アクセス ログとエラー ログの 2 つの主な種類があります。アクセス ロ...

Dockerfile における ENV 命令の具体的な使用法の詳細な説明

1. Dockerfile 内の ENV 命令は、イメージの環境変数を定義するために使用されます。次...

LinuxサーバーにVueプロジェクトをデプロイする

ケース1 vue-cliはvue3プロジェクトをビルドし、プロジェクトをLinuxサーバーにアップロ...