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 コマンド。プロジェクトのクリーニング、コンパイル、パッケージ化に使用します。
- プロジェクトのルート ディレクトリに
という名前のファイルを作成し、次の内容をそこにコピーします。<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 イメージをビルドします。
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 という名前のファイルを作成し、次の内容をそのファイルにコピーする必要があります: <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 つのサービスを定義します
と 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衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









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

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

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

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

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

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

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