IntelliJ IDEA 2024.1 ヘルプ

Dockerfile 実行構成

このタイプの構成を使用して、Dockerfile からイメージを構築し、このイメージからコンテナーを派生させます。

Dockerfile run configuration dialog

Docker は、docker ビルド(英語)コマンドを使用して Dockerfile からイメージをビルドし、次に docker 実行(英語)コマンドを使用してそこからコンテナーを開始します。

デフォルトでは、Dockerfile 構成には以下のオプションがあります。

項目

説明

名前

実行構成の名前を指定して、編集または実行時に他の構成の間ですばやく識別できるようにします。

複数のインスタンスを許可する

この実行構成の複数のインスタンスを並行して実行できるようにします。

デフォルトでは無効になっており、別のインスタンスがまだ実行されているときにこの構成を開始すると、IntelliJ IDEA は実行中のインスタンスを停止して別のインスタンスを開始することを提案します。これは、実行構成が多くのリソースを消費し、複数のインスタンスを実行する正当な理由がない場合に役立ちます。

プロジェクトファイルとして保存

実行構成設定を含むファイルを保存して、他のチームメンバーと共有します。デフォルトの場所は .idea/runConfigurations です。ただし、.idea ディレクトリを共有したくない場合は、プロジェクト内の他のディレクトリに構成を保存できます。

デフォルトでは無効になっており、IntelliJ IDEA は実行構成設定を .idea/workspace.xml に保存します。

サーバー

実行構成に使用する Docker デーモン接続を選択します。

Dockerfile

イメージの構築に使用される Dockerfile の名前と場所を指定します。

イメージタグ

ビルドされたイメージのオプションの名前とタグを指定します。

これは、将来的にイメージを参照できます。フィールドを空白のままにすると、イメージにはランダムな一意の識別子のみが含まれます。

コンテナー名

コンテナーのオプションの名前を指定します。空の場合、Docker はコンテナーのランダムな名前を生成します。

これは、docker run コマンドで --name オプションを使用するのと似ています。

起動前

実行構成を開始する前に実行するタスクのリストを指定します。例: 別の構成を実行し、必要なアーティファクトを構築し、外部ツールまたは Web ブラウザーを実行します。

the Add button をクリックするか、Alt+Insert を押して、使用可能なタスクの 1 つを追加します。

the Up button および the Down button を使用してリスト内のタスクを移動し、タスクを実行する順序を変更します。タスクを選択し、the Edit button をクリックしてタスクを編集します。the Remove button をクリックして、選択したタスクをリストから削除します。

このページを表示する

実際に起動する前に、実行構成設定を表示してください。

ツールウィンドウをアクティブにする

構成のタイプに応じて、この実行構成を開始するときに実行デバッグサービスツールウィンドウを開きます。このオプションが無効になっている場合は、ツールウィンドウを手動で開くことができます。

  • 表示 | ツールウィンドウ | 実行または Alt+4

  • 表示 | ツールウィンドウ | デバッグまたは Alt+5

  • 表示 | ツールウィンドウ | サービスまたは Alt+8

オプションを変更メニューを使用して、実行構成に詳細オプションを追加します。

項目

説明

コンテキストフォルダー

デーモンがビルドプロセス中に使用するローカルディレクトリを指定します。Dockerfile 内のすべてのホストパスは、このディレクトリを基準にして処理されます。デフォルトでは、空白のままにすると、Docker は Dockerfile が配置されているのと同じディレクトリを使用します。

ビルド引数

ビルドプロセス中に通常の環境変数のようにアクセスできるビルド時の変数の値を指定しますが、中間イメージまたは最終イメージには保持されません。

これは、docker build コマンドで --build-args オプションを使用するのと似ています。

これらの変数は、ARG 命令を使用して Dockerfile で定義する必要があります。例: 使用するベースイメージのバージョンの変数を定義できます。

ARG PGTAG=latest FROM postgres:$PGTAG

この場合の PGTAG 変数はデフォルトで latest になり、ビルド時の引数として再定義しない限り、Dockerfile は使用可能な最新バージョンの PostgreSQL でイメージを生成します。PGTAG=9 を設定すると、Docker は代わりに postgres:9 をプルし、PostgreSQL バージョン 9 でコンテナーを実行します。

PGTAG 引数の再定義は、次のコマンドラインオプションの設定に似ています。

--build-arg PGTAG=9

複数の引数をスペースで区切って指定できます。

ビルドオプション

サポートされている docker build オプション(英語)を設定します。

例: --label オプションを使用して、ビルドされたイメージのメタデータを指定できます。

BuildKit を有効にする

イメージを構築するときは、BuildKit バックエンド(英語)を使用してください。

これは、docker build コマンドを呼び出すときに DOCKER_BUILDKIT=1 環境変数を設定するのと似ています。

公開されているすべてのポートをランダムに公開

公開されているすべてのコンテナーポートを、ホスト上のランダムな空きポートに公開します。

これは、コマンドラインで -P または --publish-all オプションを使用するのと似ています。

バインドポート

特定のコンテナーポートをホスト上の特定のポートにマップします。

これは、コマンドラインで -p または --publish オプションを使用するのと似ています。

バインドポートフィールドの Browse をクリックし、ホストのどのポートをコンテナーのどのポートにマップするかを指定します。ポートにアクセスできる特定のホスト IP を指定することもできます(たとえば、ローカルでのみアクセスできるように 127.0.0.1 に設定したり、ネットワーク内のすべてのコンピューターでポートを開くように 0.0.0.0 に設定したりできます)。

すでにホストポート 5432 で PostgreSQL を実行していて、コンテナーで PostgreSQL の別のインスタンスを実行し、ポート 5433 を介してホストからアクセスするとします。ホストポート 5433 をコンテナーのポート 5432 にバインドするのは、設定と同様です。次のコマンドラインオプション:

-p 5433:5432

このオプションは、バインドポートフィールドを構成する代わりに、実行オプションフィールドで明示的に設定できます。

エントリポイント

イメージのデフォルトの ENTRYPOINT を上書きします。

これは、コマンドラインで --entrypoint オプションを使用するのと似ています。

コマンド

イメージのデフォルトの CMD を上書きします。

これは、docker run の引数としてコマンドを追加するのと似ています。

バインドマウント

ホスト上のファイルとディレクトリをコンテナー内の特定の場所にマウントします。

これは、コマンドラインで -v または --volume オプションを使用するのと似ています。

バインドマウントフィールドで Browse をクリックし、ホストディレクトリとそれをマウントするコンテナー内の対応するパスを指定します。コンテナーボリュームへの書き込みを無効にする場合は、読み取り専用を選択します。

例: ホスト上のローカル PostgreSQL ディレクトリ(/Users/Shared/pg-data)をコンテナー内のディレクトリ(/var/lib/pgsql/data)にマウントできます。この方法でボリュームをマウントすることは、次のコマンドラインオプションを設定することに似ています。

-v /Users/Shared/pg-data:/var/lib/pgsql/data

このオプションは、バインドマウントフィールドを構成する代わりに、実行オプションフィールドで明示的に設定できます。

環境変数

環境変数を指定します。Dockerfile(英語)ENV 命令で定義されているように、使用しているベースイメージに関連付けられた環境変数があります。Docker が新しいコンテナーごとに自動的に設定する環境変数(英語)もあります。このフィールドを使用して、変数のいずれかをオーバーライドするか、追加の変数を指定します。

これは、コマンドラインで -e または --env オプションを使用するのと似ています。

変数の名前と値を追加するには、環境変数フィールドの Browse をクリックします。

例: (アプリケーションを実行しているユーザーのオペレーティングシステム名ではなく)デフォルトで特定のユーザー名で PostgreSQL に接続する場合は、PGUSER 変数を必要な値に設定できます。これは、次のコマンドラインオプションの設定に似ています。

--env PGUSER=%env-var-value

このオプションは、環境変数フィールドを構成する代わりに、実行オプションフィールドで明示的に設定できます。

実行オプション

サポートされている他の docker 実行(英語)オプションを設定します。

例: コンテナーを my-net ネットワークに接続し、その my-app エイリアスを設定するには、次のように指定します。

--network my-net --network-alias my-app

コンテナーにアタッチ

コンテナーの標準入力、出力、エラーストリームに接続します。

これは、コマンドラインで -a または --attach オプションを使用するのと似ています。

コマンドプレビューの表示

実行構成の実行に使用されるコマンドをプレビューします。

関連ページ:

Docker

Docker は、分離された再現可能な環境で実行可能ファイルをデプロイおよび実行するためのツールです。これは、たとえば、本番環境と同じ環境でコードをテストする場合に役立ちます。IntelliJ IDEA は Docker 機能を統合し、Docker イメージの作成、Docker コンテナーの実行、Docker Compose アプリケーションの管理、パブリックおよびプライベート Docker レジストリの使用など、IDE から直接実行するための支援を提供します。Docker プラグインを有効にする...

実行ツールウィンドウ

実行ツールウィンドウには、アプリケーションによって生成された出力が表示されます。各タブの外観は、実行中のアプリケーションの種類によって異なり、追加のツールボックスとペインを含めることができます。ツールウィンドウのタブ:タブをピン留め複数のアプリケーションを実行している場合、各アプリケーションは、適用された実行 / デバッグ構成にちなんで名付けられたタブに表示されます。アプリケーションを再実行しても出力を保持するには、出力タブを固定します。タブを右クリックし、タブをピン留めを選択します。デフォル...

デバッグツールウィンドウ

デバッガーセッションを開始すると、デバッグツールウィンドウが表示されます。このウィンドウを使用して、デバッガーセッションを制御し、プログラムデータ(フレーム、スレッド、変数など)を表示して分析し、さまざまなデバッガーアクションを実行します。これは、デバッグツールウィンドウの概要です。ツールウィンドウの使用に関する一般的な手順については、ツールウィンドウを参照してください。ツールウィンドウのタブを切り替えるには、とを押します。セッション:使用可能なデバッグセッションは、デバッグツールウィンド

サービスツールウィンドウ

サービスツールウィンドウを使用すると、実行 / デバッグ構成、アプリケーションサーバー、データベースセッション、Docker 接続など、ソフトウェア開発中に役立つさまざまなサービスを管理できます。プラグイン開発者は、IntelliJ プラットフォーム API を通じて他のサービスを追加できます。メインツールバーには、すべてのサービスタイプに共通の次のボタンとメニューが含まれています。すべて展開リスト内のすべての項目を展開します。すべて折りたたむリスト内のすべての項目を折りたたみます。グループ化サ...

Docker イメージ実行構成

このタイプの構成を使用して、以前にプルまたはビルドしたローカルに存在するイメージから Docker コンテナーを実行します。Docker は、次の構文で docker 実行コマンドを使用します。docker run [OPTIONS] IMAGE [COMMAND] [ARG...]Docker イメージ実行構成のオプションを使用して、このコマンドのすべての引数を設定できます。デフォルトでは、Docker イメージ構成には以下のオプションがあります。名前実行構成の名前を指定して、編集または実行時に...

Docker compose 実行構成

このタイプの構成を使用して、マルチコンテナー Docker アプリケーションを実行します。Docker は、docker compose コマンドを使用して、マルチコンテナーアプリケーションを定義、構成、実行します。コンテナーを構築、作成、起動、アタッチする主なコマンドは docker compose up です。デフォルトでは、Docker Compose 構成には以下のオプションがあります。名前実行構成の名前を指定して、編集または実行時に他の構成の間ですばやく識別できるようにします。複数のインスタン...