Docker と Spring Boot を使用して、アプリケーションの迅速なデプロイと水平拡張を実現します。
Docker と Spring Boot を使用して、アプリケーションの迅速なデプロイと水平拡張を実現します
クラウド コンピューティングとコンテナ テクノロジーの発展に伴い、ますます多くの企業が導入を始めていますDocker アプリケーションのデプロイと管理を実装します。 Docker は軽量で移植性が高く、迅速なデプロイと拡張が可能であるという特徴があるのに対し、Spring Boot は Java アプリケーションを構築するためのフレームワークであり、開発を簡素化する方法を提供します。この記事では、Docker と Spring Boot を組み合わせてアプリケーションの迅速なデプロイと水平拡張を実現する方法を紹介し、具体的なコード例を示します。
1. Docker の概念と使用法
Docker は、アプリケーションとその依存環境をコンテナーにパッケージ化し、さまざまな環境でのアプリケーションの迅速なデプロイメントと移植を実現し、共有できるコンテナー テクノロジーです。 。
- Docker のインストール
まず、Docker をインストールする必要があります。Docker 公式 Web サイトにアクセスして、対応するインストール パッケージをダウンロードし、手順に従ってインストールします。公式ドキュメント。
- Docker イメージの作成
Docker イメージは、Docker コンテナーとアプリケーションのパッケージ化形式の基礎です。 Dockerfile を使用してイメージ構築プロセスを定義できます。以下は、単純な Dockerfile の例です。
FROM openjdk:11 VOLUME /tmp ARG JAR_FILE COPY ${JAR_FILE} app.jar ENTRYPOINT ["java","-jar","/app.jar"]
この例では、公式に提供されている OpenJDK 11 をベース イメージとして使用し、アプリケーションの jar パッケージをコンテナーにコピーし、ENTRYPOINT 命令を通じて起動コマンドを指定します。
- Docker イメージのビルド
Dockerfile が配置されているディレクトリで、次のコマンドを実行して Docker イメージをビルドします。 ,
my-app はイメージの名前で、実際の状況に応じて変更できます。
- イメージを構築した後、次のコマンドを使用して Docker コンテナを実行できます:
docker build -t my-app .
その中には、
-d パラメータはコンテナをバックグラウンド モードで実行することを示し、-p
パラメータはホストの 8080 ポートをコンテナの 8080 ポートにマッピングすることを示し、my-app
は画像の名前。 2. Spring Boot アプリケーションの迅速なデプロイメント
Spring Boot は、独立した Spring ベースのアプリケーションを迅速に構築するために使用できる迅速な開発フレームワークです。
Spring Boot アプリケーションの作成- まず、Spring Boot アプリケーションを作成する必要があります。 Spring Initializr (https://start.spring.io/) を使用して、基本的な Spring Boot プロジェクトを生成できます。
- 生成されたプロジェクトでは、独自のビジネス ロジックを作成できます。ここでは、例として単純な RESTful インターフェイスを示します。コードは次のとおりです:
- プロジェクトのルート ディレクトリで、次のコマンドを実行します。次のコマンドを実行可能な jar パッケージにパッケージ化します:
@RestController public class HelloController { @GetMapping("/hello") public String hello() { return "Hello, Docker!"; } }
このうち、
./mvnw は Maven コマンドを実行するために使用されるパッケージ化スクリプトであり、clean package
はMaven コマンド。プロジェクトのクリーニング、コンパイル、パッケージ化に使用します。
- プロジェクトのルート ディレクトリに
という名前のファイルを作成し、次の内容をそこにコピーします。<pre class='brush:php;toolbar:false;'>./mvnw clean package</pre>
- プロジェクトのルート ディレクトリで、次のコマンドを実行して Docker イメージをビルドします。
FROM openjdk:11 VOLUME /tmp ARG JAR_FILE COPY ${JAR_FILE} app.jar ENTRYPOINT ["java","-jar","/app.jar"]
その中に、
my-app はイメージの名前で、実際の状況に応じて変更できます。
- イメージを構築した後、次のコマンドを使用して Docker コンテナを実行できます:
docker build -t my-app .
その中には、
-d パラメータはコンテナをバックグラウンド モードで実行することを示し、-p
パラメータはホストの 8080 ポートをコンテナの 8080 ポートにマッピングすることを示し、my-app
は画像の名前。
にアクセスすると、返されたコンテンツが Hello, Docker!
であることがわかり、Spring Boot アプリケーションが正常に展開されました。 3. アプリケーションの水平方向の拡張
Docker のもう 1 つの利点は、アプリケーションを簡単に水平方向に拡張して、高い同時実行性の要件を満たすことができることです。
Docker Compose の使用- Docker Compose は、複数の Docker コンテナーを定義して実行するためのツールです。 Docker Compose を使用して、アプリケーションの複数のインスタンスを管理できます。
まず、
docker-compose.yml という名前のファイルを作成し、次の内容をそのファイルにコピーする必要があります: <pre class='brush:php;toolbar:false;'>docker run -d -p 8080:8080 my-app</pre>
上記の構成ファイルは 2 つのサービスを定義します
と app2
は、それぞれ 2 つのアプリケーション インスタンスに対応します。 SPRING_PROFILES_ACTIVE
環境変数を設定することで、アプリケーションの構成環境を指定できます。
- 構成ファイルが配置されているディレクトリで、次のコマンドを実行してアプリケーション インスタンスを起動します:
version: '3' services: app: image: my-app ports: - "8080:8080" environment: - SPRING_PROFILES_ACTIVE=dev1 app2: image: my-app ports: - "8081:8080" environment: - SPRING_PROFILES_ACTIVE=dev2
Among
- d パラメーターは、コンテナーをバックグラウンド モードで実行することを示します。
および http://localhost:8081/hello
にアクセスすると、返されたコンテンツが # のままであることがわかります。 ##Hello, Docker!、2 つのアプリケーション インスタンスが正常に開始されたことを示します。
Docker と Spring Boot を使用することで、アプリケーションの迅速なデプロイと水平拡張を実現できます。 Docker のコンテナ化テクノロジを通じて、アプリケーションとその依存環境をコンテナにパッケージ化し、クロスプラットフォームの展開と移植を実現できます。 Spring Boot を使用すると、アプリケーションのスケルトンをすばやく構築し、開発を簡素化できます。この記事が Docker と Spring Boot の理解と使用に役立つことを願っています。
以上がDocker と Spring Boot を使用して、アプリケーションの迅速なデプロイと水平拡張を実現します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

Dreamweaver Mac版
ビジュアル Web 開発ツール
