Azure Toolkit for IntelliJ を使用して Spring Boot アプリを Docker コンテナーとして発行するPublish a Spring Boot app as a Docker container by using the Azure Toolkit for IntelliJ

Spring Framework は Java 開発者のエンタープライズ レベルのアプリケーション作成を支援するオープンソース ソリューションです。The Spring Framework is an open-source solution that helps Java developers create enterprise-level applications. このプラットフォームで構築される特に知られたプロジェクトの 1 つが Spring Boot です。これによって、スタンドアロンの Java アプリケーションの作成方法が簡略化されます。One of the more-popular projects that is built on top of that platform is Spring Boot, which provides a simplified approach for creating standalone Java applications.

Docker は、開発者が、コンテナーで実行されるアプリケーションのデプロイ、スケーリング、および管理を自動化することを支援するオープン ソース ソリューションです。Docker is an open-source solution that helps developers automate the deployment, scaling, and management of their applications that are running in containers.

このチュートリアルでは、Azure Toolkit for IntelliJ を使用して Spring Boot アプリケーションを Docker コンテナーとして Microsoft Azure にデプロイする手順について説明します。This tutorial walks you through the steps to deploy a Spring Boot application as a Docker container to Microsoft Azure by using the Azure Toolkit for IntelliJ.

前提条件Prerequisites

この記事の手順を完了するには、Azure Toolkit for IntelliJ をインストールする必要があります。これには、次のソフトウェア コンポーネントが必要です。To complete the steps in his article, you will need to install the Azure Toolkit for IntelliJ, which requires the following software components:

注意

JetBrains Plugin Repository の Azure Toolkit for IntelliJ に関するページに、このツールキットと互換性のあるビルドが一覧表示されています。The Azure Toolkit for IntelliJ page at the JetBrains Plugin Repository lists the builds that are compatible with the toolkit.

既定の Spring Boot Docker リポジトリの複製Clone the default Spring Boot Docker repo

次の手順では、IntelliJ を使用して、Spring Boot Docker リポジトリを複製する方法について説明します。The following steps walk you through cloning the Spring Boot Docker repo by using IntelliJ. コマンド ラインを使用したい場合は、Azure Container Service で Spring Boot アプリケーションを Linux にデプロイする方法に関するページを参照してください。If you want to use a command line, see Deploy a Spring Boot application on Linux in Azure Container Service.

  1. IntelliJ を開きます。Open IntelliJ.

  2. [ようこそ] 画面で、 [Check out from Version Control](バージョン管理からチェックアウト) 一覧の [GitHub] オプションを選択します。On the welcome screen, select the GitHub option in the Check out from Version Control list.

    バージョン コントロールの GitHub オプション

  3. ログインを求められたら、資格情報を入力します。Enter your credentials if you are prompted to log in.

    • ユーザー名/パスワードを使用して GitHub にログインする場合:If you are using a username/password to log in to GitHub:

      GitHub ユーザー名とパスワードを入力するためのダイアログ ボックス

    • トークンを使用して GitHub にログインする場合:If you are using a token to log in to GitHub:

      GitHub トークンを入力するためのダイアログ ボックス

  4. リポジトリの URL として「 https://github.com/spring-guides/gs-spring-boot-docker.git 」を入力し、ローカル パスとフォルダーの情報を指定して、 [複製] をクリックします。Enter https://github.com/spring-guides/gs-spring-boot-docker.git for the repo URL, specify your local path and folder information, and then click Clone.

    リポジトリの複製ダイアログ ボックス

  5. IntelliJ プロジェクトの作成を求められた場合は、 [いいえ] を選択します。When you're prompted to create an IntelliJ project, select No.

    IntelliJ プロジェクトの作成を拒否

  6. ホーム ページで [プロジェクトのインポート] をクリックします。On the welcome page, click Import Project.

    [プロジェクトのインポート] の選択内容

  7. Spring Boot リポジトリを複製したパスを見つけて、ルートの下の complete フォルダーを選択して、 [OK] をクリックします。Locate the path where you cloned the Spring Boot repo, select the complete folder under the root, and then click OK.

    インポート用フォルダーの選択

  8. メッセージが表示されたら、 [Create project from existing sources](既存のソースからプロジェクトを作成) を選択します。When you're prompted, select Create project from existing sources.

    [Create project from existing sources](既存のソースからプロジェクトを作成)

  9. プロジェクト名を指定するか、既定値を受け入れて、complete フォルダーの正確なパスを確認し、 [次へ] をクリックします。Specify your project name or accept the default, verify the correct path to the complete folder, and then click Next.

    プロジェクト名の指定

  10. インポート用にディレクトリをカスタマイズし、 [次へ] をクリックします。Customize any directories for importing, and then click Next.

    ディレクトリの選択

  11. インポートするライブラリを確認し、 [次へ] をクリックします。Review the libraries to import, and then click Next.

    プロジェクト ライブラリの確認

  12. モジュールの構造を確認し、 [次へ] をクリックします。Review the module structure, and then click Next.

    モジュールの構造を確認

  13. JDK を指定し、 [次へ] をクリックします。Specify your JDK, and then click Next.

    JDK の指定

  14. [完了] をクリックします。Click Finish.

    [完了] ボタン

IntelliJ により Spring Boot アプリがプロジェクトとしてインポートされ、インポートが完了すると構造が表示されます。IntelliJ imports the Spring Boot app as a project and displays the structure when the import has finished.

IntelliJ での Spring Boot アプリ

Spring Boot アプリのビルドBuild your Spring Boot app

Maven POM を使用したアプリのビルドBuild the app by using the Maven POM

  1. Maven ツール ウィンドウがまだ開かれていない場合は、Maven ツール ウィンドウを開きます。Open the Maven tool window if it is not already opened. [表示] > [ツール ウィンドウ] > [Maven Projects](Maven プロジェクト) の順にクリックします。Click View > Tool Windows > Maven Projects.

    ツール ウィンドウおよび Maven プロジェクト コマンド

  2. Maven ツール ウィンドウで [パッケージ] を右クリックして、 [Run Maven Build](Maven ビルドの実行) を選択します。In the Maven tool window, right-click package and select Run Maven Build. (Maven プロジェクトが自動的に表示されない場合は、Maven ツール バーで [Reimport](再インポート) アイコンをクリックします。)(If your Maven project does not show up automatically, click the Reimport icon on the Maven toolbar.)

    Maven ビルド コマンドの実行

  3. Spring Boot アプリが正常に作成されると、IntelliJ により、BUILD SUCCESS メッセージが表示されます。IntelliJ should display a BUILD SUCCESS message when your Spring Boot app is successfully created.

    ビルド成功のメッセージ

デプロイの準備ができたアーティファクトの作成Create a deployment-ready artifact

Spring Boot アプリを発行するには、デプロイの準備ができたアーティファクトを作成する必要があります。To publish your Spring Boot app, you need to create a deployment-ready artifact. 次の手順に従います。Use the following steps:

  1. IntelliJ で、Web アプリ プロジェクトを開きます。Open your web app project in IntelliJ.

  2. [ファイル] をクリックし、 [プロジェクトの構造] をクリックします。Click File, and then click Project Structure.

    [プロジェクトの構造] コマンド

  3. 緑色のプラス ( + ) 記号をクリックしてアーティファクトを追加し、 [JAR] をクリックして、 [Empty](空にする) をクリックします。Click the green plus (+) symbol to add an artifact, click JAR, and then click Empty.

    アーティファクトの追加

  4. ".jar" 拡張子を追加しないようにしてアーティファクトに名前を付け、Maven の出力用のターゲット フォルダーを指定します。Name your artifact while making sure not to add the ".jar" extension, and then specify the target folder for the Maven output.

    アーティファクトのプロパティを指定

  5. アーティファクトのマニフェストを作成します (省略可能)。Create a manifest for your artifact (optional):

    a.a. [Create Manifest](マニフェストの作成) をクリックします。Click Create Manifest.

    [マニフェストの作成] ボタンをクリック

    b.b. アーティファクトの既定のパスを選択し、 [OK] をクリックします。Choose the default path for the artifact, and then click OK.

    アーティファクトのパスを指定

    c.c. 省略記号 ( ... ) をクリックして、メイン クラスを検索します。Click the ellipsis (...) to locate the main class.

    メイン クラスの検索

    d.d. メイン クラスを選択して、 [OK] をクリックします。Choose your main class, and then click OK.

    メイン クラスの指定

  6. Click OK.Click OK.

    [プロジェクト構造] ダイアログ ボックスを閉じる

注意

IntelliJ のアーティファクトの作成について詳しくは、JetBrains の Web サイトの「Configuring Artifacts (アーティファクトの構成)」をご覧ください。For more information about creating artifacts in IntelliJ, see Configuring Artifacts on the JetBrains website.

デプロイ用のアーティファクトのビルドBuild the artifact for deployment

  1. [Build](ビルド) をクリックし、 [Artifacts](アーティファクト) をクリックします。Click Build, and then click Artifacts.

    [Build Artifacts](ビルド アーティファクト) コマンド

  2. [Build Artifacts](ビルド アーティファクト) コンテキスト メニューが表示されたら、 [Build](ビルド) をクリックします。When the Build Artifact context menu appears, click Build.

    [Build Artifacts](ビルド アーティファクト) コンテキスト メニュー

IntelliJ でプロジェクト ツール ウィンドウに、Spring Boot アプリの完成したアーティファクトが表示されます。IntelliJ should display the completed artifact for your Spring Boot app in the project tool window.

作成されたアーティファクト

Docker コンテナーを使用して Web アプリを Azure に発行するPublish your web app to Azure by using a Docker container

  1. Azure アカウントにサインインしていない場合は、「Azure Toolkit for IntelliJ のサインイン手順」の手順に従います。If you have not signed in to your Azure account, follow the steps in Sign-in instructions for the Azure Toolkit for IntelliJ.

  2. プロジェクト エクスプローラー ツール ウィンドウで、プロジェクトを右クリックし、 [Azure] > [Publish as Docker Container](Docker コンテナーとして発行) をクリックします。In the Project Explorer tool window, right-click the project, and then select Azure > Publish as Docker Container.

    [Publish as Docker Container](Docker コンテナーとして発行) コマンド

  3. [Deploy Docker Container on Azure](Azure への Docker コンテナーのデプロイ) ダイアログ ボックスが表示され、既存の Docker ホストが表示されます。When the Deploy Docker Container on Azure dialog box appears, any existing Docker hosts are displayed. 既存のホストへのデプロイを選択する場合は、スキップして手順 4 に進みます。If you choose to deploy to an existing host, you can skip to step 4. そうでない場合は、次の手順に従ってホストを作成します。Otherwise, use the following steps to create a host:

    a.a. 緑色のプラス (" + ") 記号をクリックします。Click the green plus (+) symbol.

    新しい Docker ホストの追加

    b.b. [Create Docker Host](Docker ホストの作成) ダイアログ ボックスが表示されたら、新しい Docker ホストに既定値をそのまま使用するか、カスタム設定を指定できますWhen the Create Docker Host dialog box appears, you can choose to accept the defaults, or you can specify any custom settings for your new Docker host. (さまざまな設定について詳しくは、「Azure Toolkit for IntelliJ を使用して Web アプリを Docker コンテナーとして発行する」を参照してください)。使用する設定を指定したら、 [Next](次へ) をクリックします。(For detailed descriptions of the various settings, see Publish a web app as a Docker container by using the Azure Toolkit for IntelliJ.) Click Next when you have specified which settings to use.

    Docker ホスト オプションの指定

    c.c. Azure Key Vault の既存のログイン資格情報を使用することも、新しい Docker ログイン資格情報を入力することもできます。You can choose to use existing login credentials from an Azure key vault, or you can choose to enter new Docker login credentials. オプションを指定したら、 [Finish](完了) をクリックします。Click Finish when you have specified your options.

    Docker ホストの資格情報の指定

  4. Docker ホストを選択し、 [次へ] をクリックします。Select your Docker host, and then click Next.

    使用する Docker ホストの選択

  5. [Deploy Docker Container on Azure](Azure への Docker コンテナーのデプロイ) ダイアログ ボックスの最後のページで、次のオプションを指定します。On the last page of the Deploy Docker Container on Azure dialog box, specify the following options:

    a.a. Docker コンテナーをホストするコンテナーのカスタム名を指定するか、既定値をそのまま使用することができます。You can choose to specify a custom name for the container that will host your Docker container, or you can accept the default.

    b.b. " [外部ポート] : [内部ポート] " という構文で、Docker ホストの TCP ポートを入力します。Enter the TCP ports for your docker host by using the following syntax: [external port]:[internal port]. たとえば "80:8080" では、外部ポート "80" と既定の内部 Spring Boot ポート "8080" が指定されます。For example, 80:8080 specifies an external port of 80 and the default internal Spring Boot port of 8080.

    内部ポートをカスタマイズした場合 (application.yml ファイルを編集するなどして)、Azure で正しいルーティングが実現するようポート番号を指定する必要があります。If you have customized your internal port (for example, by editing the application.yml file), you need to specify the port number for the correct routing to occur in Azure.

    c.c. これらのオプションを構成したら、 [完了] をクリックします。After you have configured these options, click Finish.

    Azure への Docker コンテナーのデプロイ

  6. Azure Toolkit による発行が完了したら、Azure Activity Log の状態が発行済みになります。When the Azure Toolkit has finished publishing, the Azure Activity Log displays Published for the status.

    正常にデプロイされた Docker ホスト

次の手順Next steps

IntelliJ を使用して Spring Boot アプリを作成するための他の方法については、JetBrains Web サイトの Spring Boot プロジェクトの作成に関する記事を参照してください。To learn about additional methods for creating Spring Boot apps by using IntelliJ, see Creating Spring Boot Projects on the JetBrains website.

バグを報告したり、新機能をリクエストしたりするには、当社の GitHub リポジトリで問題を作成してください。To report bugs or request new features, create issues on our GitHub repository. または、Stack Overflow でタグ azure-java-tools を使用して質問してください。Or, ask questions on Stack Overflow with tag azure-java-tools.

Azure での Java の使用方法の詳細については、以下のリンクを参照してください。For more information about using Java with Azure, see the following links: