Docker を使用して Java アプリケーションを実行およびデバッグする
Docker を使用して、特定のランタイム環境を持つコンテナーで Java アプリケーションを実行およびデバッグできます。このチュートリアルでは、単純な Java アプリケーション用に OpenJDK 17 を使用して Docker 実行ターゲットを作成する方法について説明します。
新規 Java プロジェクトを作成する
このチュートリアルのサンプルアプリケーションは、Hello, World!
をコンソールに出力して終了する単一の HelloWorld.java ファイルで構成されます。
メインメニューで、
に移動します。新しいプロジェクトウィザードで、左側のリストから Java を選択します。
新しいプロジェクトダイアログで、プロジェクトに
DockerHelloWorld
という名前を付けます。src ディレクトリにメイン Java クラスファイル HelloWorld.java を作成します。
これを行うには、プロジェクトツールウィンドウで、src ディレクトリを右クリックし、新規をポイントして、Java クラスをクリックします。新規 Java クラスダイアログで、
HelloWorld
と入力し、Enter を押します。次のコードを新しいファイルに貼り付けます。
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } }アプリケーションをコンパイルして実行してみてください。
ガターの
をクリックして実行 'HelloWorld.main()' を選択します。
実行ツールウィンドウのコンソールに
Hello, World!
が印刷されているのが見えるはずです。
デフォルトでは、IntelliJ IDEA は、アプリケーションをローカルでコンパイルおよび実行する実行構成を作成します。SSH 接続を介したリモートマシンや Docker コンテナーなど、さまざまな実行ターゲットを構成できます。
Docker 実行ターゲットで Java アプリケーションを実行する
メインメニューで、
に移動します。アプリケーションをコンパイルして実行する実行構成を選択し、実行リストを展開して、Docker を選択します。
新規ターゲット: Docker ウィザードの最初のステップで、プルまたは既存を使用を選択し、プルするイメージの名前として
openjdk
を指定します。2 番目のステップで、Docker は指定されたイメージをプルします。
3 番目のステップで、作成をクリックして、新しい Docker 実行ターゲットを追加します。
適用をクリックして、変更を実行構成に保存します。
実行構成を開始して、最新の OpenJDK コンテナーでアプリケーションをコンパイルして実行します。詳細については、アプリケーションを実行するを参照してください。
Java アプリケーションをデバッグする
HelloWorld.java を開き、
System.out.println("Hello, World!");
で行番号 3 をクリックして、この行にブレークポイントを設定します。アプリケーションの実行構成を選択しますが、それを実行する代わりに、
でデバッガーを起動します。詳細については、デバッガーセッションを開始するを参照してください。
これにより、アプリケーションがデバッグモードでコンパイルおよび実行され、IntelliJ IDEA は指定されたブレークポイントで実行を停止します。つまり、コンソールに出力される直前です。
![Docker 実行ターゲットでの Java アプリのデバッグ Debugging Java app on a Docker run target](https://resources.jetbrains.com/help/img/idea/2024.1/docker_run_target_debug.png)
関連ページ:
![](https://resources.jetbrains.com/help/img/idea/2024.1/docker_run_targets.png)
Docker 実行ターゲット
Docker は、コンテナー内の任意の環境を複製できるため、アプリケーションの実行とデバッグに最適です。例: 問題の報告者は、問題を再現できる特定の Docker イメージを提供する場合があります。Docker コンテナーでアプリケーションを実行またはデバッグするには、ターゲットの実行を使用できます。Docker 実行ターゲットを作成するを押して設定を開き、を選択します。をクリックし、Docker を選択します。ターゲットの実行: Docker の説明に従って、Docker ターゲットを構成および作...
![](https://resources.jetbrains.com/help/img/idea/2024.1/03_DockerSettings.png)
Docker
Docker は、分離された再現可能な環境で実行可能ファイルをデプロイおよび実行するためのツールです。これは、たとえば、本番環境と同じ環境でコードをテストする場合に役立ちます。IntelliJ IDEA は Docker 機能を統合し、Docker イメージの作成、Docker コンテナーの実行、Docker Compose アプリケーションの管理、パブリックおよびプライベート Docker レジストリの使用など、IDE から直接実行するための支援を提供します。Docker プラグインを有効にする...
![](https://resources.jetbrains.com/help/img/idea/2024.1/rc_icons.png)
実行 / デバッグ構成
IntelliJ IDEA は、実行 / デバッグ構成を使用して、コードを実行、デバッグ、テストします。各構成は、何を実行し、どのパラメーターと環境を使用するかを定義する、名前付きのスタートアッププロパティのセットです。実行 / デバッグ構成には 2 つのタイプがあります。一時的 — 永続的な構成を持たないクラスを実行するたびに作成されます。これは、メソッドを持つクラスの実行を可能にする最低限のものを提供します。永続的 — テンプレートから明示的に作成されるか、一時的な構成を保存することによって作成...
![](https://resources.jetbrains.com/help/img/idea/2024.1/run_rc_1.png)
ターゲットの実行
IntelliJ IDEA から直接、クラウドや Docker コンテナーなどの別の環境でコードを実行できます。特定の実行 / デバッグ構成については、クラウドや Docker コンテナーなどの別の環境でコードを IntelliJ IDEA から直接実行できます。この機能を使用すると、アプリが対象としている実際の環境に対して変更を即座にテストできます。これにより、本番環境に移行するときに非互換性が発生しなくなります。これは、環境に大きく依存するコードで作業する場合に特に重要です。このような環境でアプ...
![](https://resources.jetbrains.com/help/img/idea/2024.1/ij-run-current-file.png)
アプリケーションを実行する
プロジェクト / モジュールに SDK のセットアップがある場合は、IntelliJ IDEA から直接アプリケーションを実行できます。簡単な方法:エディターから実行プログラムにパラメーターを渡さず、プログラムを開始する前に特定のアクションを実行する必要がない場合は、エディターから直接実行できます。クラス宣言の近くのガターでクリックし、実行を選択します。現在のファイルを実行するツールバーの専用オプションを使用して、単一のファイルを実行できます。実行ボタンとデバッグボタンがアクティブになり、現在...
![](https://resources.jetbrains.com/help/img/idea/2024.1/debug_method_breakpoint_menu.png)
ブレークポイント
ブレークポイントは、特定のポイントでプログラムの実行を一時停止する特別なマーカーです。これにより、プログラムの状態と動作を調べることができます。ブレークポイントは、たとえば、特定のコード行に到達したときにプログラムを一時停止するなどの単純なものから、追加の条件をチェックしたり、ログに書き込んだりするなどのより複雑なロジックを含むものまであります。ブレークポイントは、一度設定すると、一時的なブレークポイントを除き、明示的に削除するまでプロジェクト内に残ります。ブレークポイントの種類:Intell