ホームページ Java &#&チュートリアル Docker と Spring Boot を使用して、アプリケーションの迅速なデプロイと水平拡張を実現します。

Docker と Spring Boot を使用して、アプリケーションの迅速なデプロイと水平拡張を実現します。

Oct 20, 2023 pm 03:16 PM
docker spring boot 迅速な導入

使用Docker和Spring Boot实现应用的快速部署和水平扩展

Docker と Spring Boot を使用して、アプリケーションの迅速なデプロイと水平拡張を実現します

クラウド コンピューティングとコンテナ テクノロジーの発展に伴い、ますます多くの企業が導入を始めていますDocker アプリケーションのデプロイと管理を実装します。 Docker は軽量で移植性が高く、迅速なデプロイと拡張が可能であるという特徴があるのに対し、Spring Boot は Java アプリケーションを構築するためのフレームワークであり、開発を簡素化する方法を提供します。この記事では、Docker と Spring Boot を組み合わせてアプリケーションの迅速なデプロイと水平拡張を実現する方法を紹介し、具体的なコード例を示します。

1. Docker の概念と使用法

Docker は、アプリケーションとその依存環境をコンテナーにパッケージ化し、さまざまな環境でのアプリケーションの迅速なデプロイメントと移植を実現し、共有できるコンテナー テクノロジーです。 。

  1. Docker のインストール

まず、Docker をインストールする必要があります。Docker 公式 Web サイトにアクセスして、対応するインストール パッケージをダウンロードし、手順に従ってインストールします。公式ドキュメント。

  1. 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 命令を通じて起動コマンドを指定します。

  1. Docker イメージのビルド

Dockerfile が配置されているディレクトリで、次のコマンドを実行して Docker イメージをビルドします。 ,

my-app

はイメージの名前で、実際の状況に応じて変更できます。

Docker コンテナを実行する
  1. イメージを構築した後、次のコマンドを使用して Docker コンテナを実行できます:
docker build -t my-app .
ログイン後にコピー
ログイン後にコピー

その中には、

-d

パラメータはコンテナをバックグラウンド モードで実行することを示し、-p パラメータはホストの 8080 ポートをコンテナの 8080 ポートにマッピングすることを示し、my-app は画像の名前。 2. Spring Boot アプリケーションの迅速なデプロイメント

Spring Boot は、独立した Spring ベースのアプリケーションを迅速に構築するために使用できる迅速な開発フレームワークです。

Spring Boot アプリケーションの作成
  1. まず、Spring Boot アプリケーションを作成する必要があります。 Spring Initializr (https://start.spring.io/) を使用して、基本的な Spring Boot プロジェクトを生成できます。

アプリケーション ロジックの作成
  1. 生成されたプロジェクトでは、独自のビジネス ロジックを作成できます。ここでは、例として単純な RESTful インターフェイスを示します。コードは次のとおりです:
<div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>docker run -d -p 8080:8080 my-app</pre><div class="contentsignin">ログイン後にコピー</div></div><div class="contentsignin">ログイン後にコピー</div></div>

実行可能 jar パッケージにパッケージ
  1. プロジェクトのルート ディレクトリで、次のコマンドを実行します。次のコマンドを実行可能な jar パッケージにパッケージ化します:
@RestController
public class HelloController {

    @GetMapping("/hello")
    public String hello() {
        return "Hello, Docker!";
    }

}
ログイン後にコピー

このうち、

./mvnw

は Maven コマンドを実行するために使用されるパッケージ化スクリプトであり、clean package はMaven コマンド。プロジェクトのクリーニング、コンパイル、パッケージ化に使用します。

Docker イメージのビルド
  1. プロジェクトのルート ディレクトリに
Dockerfile

という名前のファイルを作成し、次の内容をそこにコピーします。<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>./mvnw clean package</pre><div class="contentsignin">ログイン後にコピー</div></div>

Docker イメージのビルド
  1. プロジェクトのルート ディレクトリで、次のコマンドを実行して Docker イメージをビルドします。
FROM openjdk:11
VOLUME /tmp
ARG JAR_FILE
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
ログイン後にコピー
ログイン後にコピー

その中に、

my-app

はイメージの名前で、実際の状況に応じて変更できます。

Docker コンテナを実行する
  1. イメージを構築した後、次のコマンドを使用して Docker コンテナを実行できます:
docker build -t my-app .
ログイン後にコピー
ログイン後にコピー

その中には、

-d

パラメータはコンテナをバックグラウンド モードで実行することを示し、-p パラメータはホストの 8080 ポートをコンテナの 8080 ポートにマッピングすることを示し、my-app は画像の名前。

http://localhost:8080/hello

にアクセスすると、返されたコンテンツが Hello, Docker! であることがわかり、Spring Boot アプリケーションが正常に展開されました。 3. アプリケーションの水平方向の拡張

Docker のもう 1 つの利点は、アプリケーションを簡単に水平方向に拡張して、高い同時実行性の要件を満たすことができることです。

Docker Compose の使用
  1. Docker Compose は、複数の Docker コンテナーを定義して実行するためのツールです。 Docker Compose を使用して、アプリケーションの複数のインスタンスを管理できます。

まず、

docker-compose.yml

という名前のファイルを作成し、次の内容をそのファイルにコピーする必要があります: <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>docker run -d -p 8080:8080 my-app</pre><div class="contentsignin">ログイン後にコピー</div></div><div class="contentsignin">ログイン後にコピー</div></div>上記の構成ファイルは 2 つのサービスを定義します

app

app2 は、それぞれ 2 つのアプリケーション インスタンスに対応します。 SPRING_PROFILES_ACTIVE 環境変数を設定することで、アプリケーションの構成環境を指定できます。

アプリケーション インスタンスの起動
  1. 構成ファイルが配置されているディレクトリで、次のコマンドを実行してアプリケーション インスタンスを起動します:
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:8080/hello

および http://localhost:8081/hello にアクセスすると、返されたコンテンツが # のままであることがわかります。 ##Hello, Docker!、2 つのアプリケーション インスタンスが正常に開始されたことを示します。

Docker と Spring Boot を使用することで、アプリケーションの迅速なデプロイと水平拡張を実現できます。 Docker のコンテナ化テクノロジを通じて、アプリケーションとその依存環境をコンテナにパッケージ化し、クロスプラットフォームの展開と移植を実現できます。 Spring Boot を使用すると、アプリケーションのスケルトンをすばやく構築し、開発を簡素化できます。この記事が Docker と Spring Boot の理解と使用に役立つことを願っています。

以上がDocker と Spring Boot を使用して、アプリケーションの迅速なデプロイと水平拡張を実現します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Dockerの画像を更新する方法 Dockerの画像を更新する方法 Apr 15, 2025 pm 12:03 PM

Docker画像を更新する手順は次のとおりです。最新の画像タグ新しい画像をプルする新しい画像は、特定のタグのために古い画像を削除します(オプション)コンテナを再起動します(必要に応じて)

Dockerによってコンテナを出る方法 Dockerによってコンテナを出る方法 Apr 15, 2025 pm 12:15 PM

Dockerコンテナを終了する4つの方法:コンテナ端子でCtrl Dを使用するコンテナターミナルに出口コマンドを入力しますDocker stop&lt; container_name&gt;コマンドを使用するDocker Kill&lt; container_name&gt;ホストターミナルのコマンド(フォース出口)

Dockerのファイルを外部にコピーする方法 Dockerのファイルを外部にコピーする方法 Apr 15, 2025 pm 12:12 PM

Dockerの外部ホストにファイルをコピーする方法:Docker CPコマンドを使用:Docker CP [Options]&lt; Container Path&gt; &lt;ホストパス&gt;。データボリュームの使用:ホストにディレクトリを作成し、-vパラメーターを使用してコンテナを作成するときにディレクトリをコンテナにマウントして、双方向ファイルの同期を実現します。

Dockerを再起動する方法 Dockerを再起動する方法 Apr 15, 2025 pm 12:06 PM

Dockerコンテナを再起動する方法:コンテナID(Docker PS)を取得します。コンテナを停止します(docker stop&lt; container_id&gt;);コンテナを起動します(docker start&lt; container_id&gt;);再起動が成功していることを確認します(Docker PS)。その他の方法:Docker Compose(Docker-Compose Restart)またはDocker API(Dockerドキュメントを参照)。

Dockerコンテナの名前を確認する方法 Dockerコンテナの名前を確認する方法 Apr 15, 2025 pm 12:21 PM

すべてのコンテナ(Docker PS)をリストする手順に従って、Dockerコンテナ名を照会できます。コンテナリストをフィルタリングします(GREPコマンドを使用)。コンテナ名(「名前」列にあります)を取得します。

Dockerデスクトップの使用方法 Dockerデスクトップの使用方法 Apr 15, 2025 am 11:45 AM

Dockerデスクトップの使用方法は? Dockerデスクトップは、ローカルマシンでDockerコンテナを実行するためのツールです。使用する手順には次のものがあります。1。Dockerデスクトップをインストールします。 2。Dockerデスクトップを開始します。 3。Docker Imageを作成します(DockerFileを使用); 4. Docker画像をビルド(Docker Buildを使用); 5。Dockerコンテナを実行します(Docker Runを使用)。

Dockerプロセスを表示する方法 Dockerプロセスを表示する方法 Apr 15, 2025 am 11:48 AM

Dockerプロセス表示方法:1。DockerCLIコマンド:Docker PS; 2。SystemDCLIコマンド:SystemCTL Status Docker; 3。CLIコマンドを作成するDocker:Docker-Compose PS。 4。プロセスエクスプローラー(Windows); 5。 /procディレクトリ(Linux)。

DockerによるMySQLを開始する方法 DockerによるMySQLを開始する方法 Apr 15, 2025 pm 12:09 PM

DockerでMySQLを起動するプロセスは、次の手順で構成されています。MySQLイメージをプルしてコンテナを作成および起動し、ルートユーザーパスワードを設定し、ポート検証接続をマップしてデータベースを作成し、ユーザーはすべての権限をデータベースに付与します。

See all articles