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

Docker は、 docker build(英語) コマンドを使用して Dockerfile からイメージを構築し、次に docker run(英語) コマンドを使用してそこからコンテナーを起動します。
デフォルトでは、 Dockerfile 構成には以下のオプションがあります。
項目 | 説明 |
|---|---|
名前 | 実行構成の名前を指定して、編集または実行時に他の構成の間ですばやく識別できるようにします。 |
Allow multiple instances | この実行構成の複数のインスタンスを並行して実行できるようにします。 デフォルトでは無効になっており、別のインスタンスがまだ実行されているときにこの構成を開始すると、PyCharm は実行中のインスタンスを停止して別のインスタンスを開始することを提案します。 これは、実行構成が多くのリソースを消費し、複数のインスタンスを実行する正当な理由がない場合に役立ちます。 |
プロジェクトファイルとして保存 | 実行構成設定を含むファイルを保存して、他のチームメンバーと共有します。 デフォルトの場所は .idea/runConfigurations です。 ただし、 .idea ディレクトリを共有したくない場合は、プロジェクト内の他のディレクトリに構成を保存できます。 デフォルトでは無効になっており、PyCharm は実行構成設定を .idea/workspace.xml に保存します。 |
サーバー | 実行構成に使用する Docker デーモン接続を選択します。 |
Dockerfile | イメージの構築に使用される Dockerfile の名前と場所を指定します。 |
Image tag | ビルドされたイメージのオプションの名前とタグを指定します。 これは、将来的にイメージを参照できます。 フィールドを空白のままにすると、イメージにはランダムな一意の識別子のみが含まれます。 |
Container name | コンテナーのオプションの名前を指定します。 空の場合、Docker はコンテナーのランダムな名前を生成します。 これは、 |
起動前 | 実行構成を開始する前に実行するタスクのリストを指定します。 例: 別の構成を実行し、必要なアーティファクトを構築し、外部ツールまたは Web ブラウザーを実行します。
|
Show this page | 実際に起動する前に、実行構成設定を表示します。 |
Activate tool window | Depending on the type of configuration, open the Run, Debug, or Services tool window when you start this run configuration. このオプションが無効になっている場合は、ツールウィンドウを手動で開くことができます。
|
ツールウィンドウにフォーカス | テストの実行中は、実行構成ツールウィンドウにフォーカスを当てます。 |
オプションを変更 メニューを使用して、実行構成に詳細オプションを追加します。
項目 | 説明 |
|---|---|
Context folder | デーモンがビルドプロセス中に使用するローカルディレクトリを指定します。 Dockerfile 内のすべてのホストパスは、このディレクトリを基準にして処理されます。 デフォルトでは、空白のままにすると、Docker は Dockerfile が配置されているのと同じディレクトリを使用します。 |
Build args | ビルドプロセス中に通常の環境変数のようにアクセスできるビルド時変数の値を指定しますが、中間イメージや最終イメージには保持されません。 これは、 これらの変数は、
ARG PY_VERSION=latest
FROM python:$PY_VERSION
この場合、
--build-arg PY_VERSION=3.10
複数の引数をスペースで区切って指定できます。 |
Build options | サポートされている 例: |
Run built image | 選択すると、PyCharm はビルド後に Docker イメージを実行します。 |
Randomly publish all exposed ports | 公開されているすべてのコンテナーポートをホスト上のランダムな空きポートに公開します。 これは、コマンドラインで |
Bind ports | 特定のコンテナーポートをホスト上の特定のポートにマップします。 これは、コマンドラインで Bind ports フィールドの ホストポート 5432 で Django がすでに動作していて、別の Django インスタンスをコンテナーで実行し、ホストのポート 5433 からアクセスしたいとします。 ホストポート 5433 をコンテナのポート 5432 にバインドすることは、次のコマンドラインオプションを設定するのと似ています: -p 5433:5432
このオプションは、 Bind ports フィールドを構成する代わりに、 実行オプション フィールドで明示的に設定できます。 |
Entrypoint | イメージのデフォルトの これは、コマンドラインで |
コマンド | イメージのデフォルトの これは、 |
Bind mounts | ホスト上のファイルとディレクトリをコンテナー内の特定の場所にマウントします。 これは、コマンドラインで Bind mounts フィールドで 例: ホスト上のローカル Django ディレクトリ( Users/Shared/django-data )をコンテナー内のディレクトリ( /var/lib/django-data )にマウントできます。 この方法でボリュームをマウントすることは、次のコマンドラインオプションを設定することに似ています。 -v Users/Shared/django-data:/var/lib/django-data
このオプションは、 Bind mounts フィールドを構成する代わりに、 実行オプション フィールドで明示的に設定できます。 |
環境変数 | 環境変数を指定します。 これは、コマンドラインで 変数の名前と値を追加するには、 環境変数 フィールドの 例: デフォルトで(アプリケーションを実行しているユーザーのオペレーティングシステム名ではなく)特定のユーザー名で Django に接続する場合は、 --env DJANGO_USER=%env-var-value
このオプションは、 環境変数 フィールドを構成する代わりに、 実行オプション フィールドで明示的に設定できます。 |
実行オプション | サポートされているその他の docker run(英語) オプションを設定します。 例: コンテナーを --network my-net --network-alias my-app
|
Attach to container | コンテナーの標準入力、出力、エラーストリームに接続します。 これは、コマンドラインで |
Show command preview | 実行構成の実行に使用されるコマンドをプレビューします。 |