検索
ホームページJava&#&チュートリアルDocker を使用して Spring Boot アプリケーションを簡単にデプロイする

使用Docker轻松部署Spring Boot应用

Docker を使用して Spring Boot アプリケーションを簡単にデプロイする

従来のアプリケーションのデプロイメント プロセスでは、通常、さまざまな依存関係を手動で構成してインストールする必要があり、システム環境の影響。 Docker を使用すると、このプロセスが簡素化され、アプリケーションのデプロイメントがより柔軟で信頼性の高いものになります。この記事では、Docker を使用して Spring Boot アプリケーションを簡単にデプロイする方法を紹介し、具体的なコード例を示します。

まず、Docker と Docker Compose がローカルにインストールされていることを確認します。次に、Spring Boot アプリケーションを作成し、関連する構成を実行する必要があります。

開始する前に、新しい Spring Boot プロジェクトを作成します。 Spring Initializr (https://start.spring.io/) を使用すると、新しいプロジェクトをすばやく生成し、適切な依存関係を選択して、ダウンロードして IDE にインポートできます。

プロジェクト内に Dockerfile を作成して、Docker イメージを構築します。 Dockerfile は、Docker イメージを自動的に構築するための一連の手順が含まれるテキスト ファイルです。以下は Dockerfile コンテンツの例です。

# 使用官方的Java 8基础镜像
FROM openjdk:8-jdk-alpine

# 设置环境变量
ENV APP_HOME /app
ENV JAVA_OPTS=""

# 创建工作目录
WORKDIR $APP_HOME

# 将Spring Boot应用打包成一个可以运行的jar文件,并复制到工作目录
COPY target/*.jar app.jar

# 暴露应用端口
EXPOSE 8080

# 启动应用
CMD java $JAVA_OPTS -jar app.jar

上記の Dockerfile では、最初に公式の Java 8 ベース イメージが基本環境として選択されます。次に、2 つの環境変数が設定されます。APP_HOME は作業ディレクトリを指定し、JAVA_OPTS は JVM パラメータを渡すために使用されます。次に、作業ディレクトリを作成し、パッケージ化された Spring Boot アプリケーションを作業ディレクトリにコピーします。最後に、アプリケーションのポート番号が公開され、CMD コマンドを使用してアプリケーションが起動されます。

Dockerfile を保存した後、ターミナルを開き、プロジェクトのルート ディレクトリに入り、次のコマンドを実行して Docker イメージをビルドします:

docker build -t spring-boot-app .

実行後、次のコマンドを使用できます。イメージが正常に構築されたかどうかを確認するには、次のようにします。

docker images

次に、Docker コンテナーを定義および管理するための Docker Compose ファイルを作成する必要があります。 Docker Compose は、複数の Docker コンテナ アプリケーションを定義して実行するためのツールであり、構成ファイルを通じてコン​​テナ関連の情報と依存関係を定義できます。

プロジェクトのルート ディレクトリに docker-compose.yml ファイルを作成します。例は次のとおりです:

version: '3'
services:
  app:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - "8080:8080"

上記の docker-compose.yml ファイルでは、サービスを含むコンテナーを定義しますアプリの名前。イメージを構築するためのコンテキスト パスと Dockerfile を指定します。 ports ディレクティブを使用して、ホストの 8080 ポートをコンテナの 8080 ポートにマップします。

docker-compose.yml ファイルを保存した後、次のコマンドを使用してアプリケーションを起動できます。

docker-compose up -d

正常に起動した後、次のコマンドを使用してアプリケーションのステータスを表示できます。コンテナ:

docker-compose ps

上記の手順により、Spring Boot アプリケーションを Docker コンテナに正常にデプロイできました。 http://localhost:8080 にアクセスすると、アプリケーションが適切に実行されていることを確認できます。

実稼働環境でも、同様の方法で Spring Boot アプリケーションをデプロイおよび管理できます。プロキシの設定、データベース接続の構成など、Dockerfile にさらに構成を追加するだけです。

要約すると、Docker を使用すると、Spring Boot アプリケーションのデプロイメント プロセスが簡素化され、より柔軟で信頼性の高い環境が提供されます。 Docker Compose を使用すると、複数のコンテナ アプリケーションの依存関係を簡単に定義および管理できます。この記事が、Docker を使用して Spring Boot アプリケーションをデプロイする際の皆様のお役に立てれば幸いです。

(注: 上記の内容は参考用です。具体的な構成とコマンドはプロジェクトのニーズに応じて異なる場合があります。実際の状況に応じて調整してください。)

以上がDocker を使用して Spring Boot アプリケーションを簡単にデプロイするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
プラットフォームの独立性は、エンタープライズレベルのJavaアプリケーションにどのように利益をもたらしますか?プラットフォームの独立性は、エンタープライズレベルのJavaアプリケーションにどのように利益をもたらしますか?May 03, 2025 am 12:23 AM

Javaは、プラットフォームの独立性により、エンタープライズレベルのアプリケーションで広く使用されています。 1)プラットフォームの独立性は、Java Virtual Machine(JVM)を介して実装されているため、Javaをサポートする任意のプラットフォームでコードを実行できます。 2)クロスプラットフォームの展開と開発プロセスを簡素化し、柔軟性とスケーラビリティを高めます。 3)ただし、パフォーマンスの違いとサードパーティライブラリの互換性に注意を払い、純粋なJavaコードやクロスプラットフォームテストの使用などのベストプラクティスを採用する必要があります。

プラットフォームの独立性を考慮して、JavaはIoT(Thingのインターネット)デバイスの開発においてどのような役割を果たしますか?プラットフォームの独立性を考慮して、JavaはIoT(Thingのインターネット)デバイスの開発においてどのような役割を果たしますか?May 03, 2025 am 12:22 AM

javaplaysasificanificantduetduetoitsplatformindepence.1)itallowscodetobewrittendunonvariousdevices.2)java'secosystemprovidesutionforiot.3)そのセキュリティフィートルセンハンス系

Javaでプラットフォーム固有の問題に遭遇したシナリオと、どのように解決したかを説明してください。Javaでプラットフォーム固有の問題に遭遇したシナリオと、どのように解決したかを説明してください。May 03, 2025 am 12:21 AM

TheSolution to HandlefilepathsaCrosswindossandlinuxinjavaistousepaths.get()fromthejava.nio.filepackage.1)usesystem.getProperty( "user.dir")およびhearterativepathtoconstructurctthefilepath.2)

開発者にとってJavaのプラットフォーム独立性の利点は何ですか?開発者にとってJavaのプラットフォーム独立性の利点は何ですか?May 03, 2025 am 12:15 AM

java'splatformentepenceissificAntiveSifcuseDeverowsDevelowSowRitecodeOdeonceantoniTONAnyPlatformwsajvm.これは「writeonce、runanywhere」(wora)adportoffers:1)クロスプラットフォームの複雑性、deploymentacrossdiferentososwithusisues; 2)re

さまざまなサーバーで実行する必要があるWebアプリケーションにJavaを使用することの利点は何ですか?さまざまなサーバーで実行する必要があるWebアプリケーションにJavaを使用することの利点は何ですか?May 03, 2025 am 12:13 AM

Javaは、クロスサーバーWebアプリケーションの開発に適しています。 1)Javaの「Write and、Run Averywhere」哲学は、JVMをサポートするあらゆるプラットフォームでコードを実行します。 2)Javaには、開発プロセスを簡素化するために、SpringやHibernateなどのツールを含む豊富なエコシステムがあります。 3)Javaは、パフォーマンスとセキュリティにおいて優れたパフォーマンスを発揮し、効率的なメモリ管理と強力なセキュリティ保証を提供します。

JVMは、Javaの「Write and、Run Anywhere」(Wora)機能にどのように貢献しますか?JVMは、Javaの「Write and、Run Anywhere」(Wora)機能にどのように貢献しますか?May 02, 2025 am 12:25 AM

JVMは、バイトコード解釈、プラットフォームに依存しないAPI、動的クラスの負荷を介してJavaのWORA機能を実装します。 2。標準API抽象オペレーティングシステムの違い。 3.クラスは、実行時に動的にロードされ、一貫性を確保します。

Javaの新しいバージョンは、プラットフォーム固有の問題にどのように対処しますか?Javaの新しいバージョンは、プラットフォーム固有の問題にどのように対処しますか?May 02, 2025 am 12:18 AM

Javaの最新バージョンは、JVMの最適化、標準的なライブラリの改善、サードパーティライブラリサポートを通じて、プラットフォーム固有の問題を効果的に解決します。 1)Java11のZGCなどのJVM最適化により、ガベージコレクションのパフォーマンスが向上します。 2)Java9のモジュールシステムなどの標準的なライブラリの改善は、プラットフォーム関連の問題を削減します。 3)サードパーティライブラリは、OpenCVなどのプラットフォーム最適化バージョンを提供します。

JVMによって実行されたバイトコード検証のプロセスを説明します。JVMによって実行されたバイトコード検証のプロセスを説明します。May 02, 2025 am 12:18 AM

JVMのバイトコード検証プロセスには、4つの重要な手順が含まれます。1)クラスファイル形式が仕様に準拠しているかどうかを確認し、2)バイトコード命令の有効性と正確性を確認し、3)データフロー分析を実行してタイプの安全性を確保し、検証の完全性とパフォーマンスのバランスをとる。これらの手順を通じて、JVMは、安全で正しいバイトコードのみが実行されることを保証し、それによりプログラムの完全性とセキュリティを保護します。

See all articles

ホット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 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 中国語版

SublimeText3 中国語版

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

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 Mac版

SublimeText3 Mac版

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