Docker コンテナー
Docker コンテナーは、対応するイメージのランタイムインスタンスです。 WebStorm は Docker 実行構成 を使用して、Docker イメージをビルドし、コンテナーを実行するコマンドを実行します。
Docker プラグインの有効化
この機能は Docker プラグインに依存しており、WebStorm ではデフォルトでバンドルされ有効化されています。 関連機能が利用できない場合は、プラグインが無効になっていないことを確認してください。
Ctrl+Alt+S を押して設定を開き、 を選択します。
インストール済み タブを開き、 Docker プラグインを見つけて、プラグイン名の横にあるチェックボックスを選択します。
既存のイメージからコンテナーを実行する
以前に プルまたは ビルドした 、ローカルに存在する Docker イメージからコンテナーを実行できます。
サービス ツールウィンドウで、イメージを選択して
をクリックするか、コンテキストメニューから コンテナーの作成 を選択します。

コンテナーの作成 ポップアップで、 作成… をクリックします。
表示される Docker 構成を作成 ダイアログでは、構成に固有の名前を付けて、コンテナーの名前を指定できます。 コンテナー名 フィールドを空のままにしておくと、Docker はそれにランダムな一意の名前を付けます。

完了したら、 実行 をクリックして新しい構成を起動します。
これにより、 Docker イメージ実行構成 が作成されて開始されます。
Dockerfile からコンテナーを実行する
コンテナーを実行する Dockerfile を開きます。
ガターの
をクリックし、この Dockerfile からコンテナーを実行することを選択します。

これにより、デフォルト設定で Dockerfile 実行構成 が作成および開始されます。最初に Dockerfile に基づいてイメージを構築し、その後にこのイメージに基づいてコンテナーを実行します。
カスタム設定を使用して実行構成を作成するには、ガターで をクリックし、 新規実行構成… を選択します。 ビルドされたイメージのカスタムタグ、コンテナーの名前、Dockerfile を読み取るコンテキストフォルダーを指定できます。 コンテキストフォルダーは、たとえば、Dockerfile の範囲外にあるアーティファクトをイメージのファイルシステムに追加したい場合に役立ちます。
コンテナーとの連携
作成されたコンテナーは、 サービス ツールウィンドウに一覧表示されます。 デフォルトでは、 サービス ツールウィンドウには、実行されていないコンテナーを含むすべてのコンテナーが表示されます。 停止したコンテナーをリストから非表示にするには、ツールバーの をクリックし、 Docker を選択してから、 停止中のコンテナー をクリックしてチェックボックスを削除します。

コンテナーを選択すると、対応する Docker 実行構成 でコンテナーの作成や開始時に生成されたデプロイログを表示する ビルドログ タブを表示できます。

ダッシュボード タブは、コンテナーに関する重要な情報を提供します。 名前とハッシュ ID に加えて、環境変数、ポート、ボリュームバインディングも一覧表示されます。 環境変数、ポート、ボリュームバインディングを追加、編集、削除できます。 ただし、これらの変更を適用するにはコンテナーを再作成する必要があり、このコンテナーの作成に使用される Docker 実行構成 には反映されません。 これは、次回構成を実行するときに変更が保持されないことを意味します。

詳細は、 コンテナーダッシュボード を参照してください。
実行中のコンテナー内でコマンドを実行する
サービス ツールウィンドウで、コンテナー名を右クリックし、 Exec をクリックします。

コンテナーでコマンドを実行 ポップアップで、 作成して実行… をクリックして、新しいコマンドを作成して実行します。

または、以前に実行したコマンドを選択することもできます。
Exec ダイアログでコマンドを入力し、 OK をクリックします。 例:
ls /tmp/tmp ディレクトリの内容を一覧表示する
mkdir /tmp/my-new-dir/tmp ディレクトリ内に my-new-dir ディレクトリを作成する
/bin/bashbashセッションを開始する
詳細については、 docker exec(英語) コマンドリファレンスを参照してください。
実行中のコンテナーに関する詳細情報の表示
サービス ツールウィンドウで、コンテナー名を右クリックし、 インスペクション をクリックします。

出力は、 インスペクション タブに JSON オブジェクトとして表示されます。

詳細については、 docker inspect(英語) コマンドリファレンスを参照してください。
コンテナー内で実行中のプロセスの表示
サービス ツールウィンドウで、コンテナー名を右クリックし、 プロセスを表示する をクリックします。

出力は、 プロセス タブの JSON 配列としてレンダリングされます。
詳細については、 docker top(英語) コマンドリファレンスを参照してください。
コンテナー出力にコンソールをアタッチする
サービス ツールウィンドウで、コンテナーを右クリックし、 アタッチ をクリックします。

コンソールは、コンテナー内で実行されている ENTRYPOINT(英語) プロセスの出力に接続され、 アタッチ済みコンソール タブで表示されます。

詳細については、 docker attach(英語) コマンドリファレンスを参照してください。
コンテナー内のファイルを参照する
サービス ツールウィンドウで、コンテナーを右クリックし、 ファイルの表示 をクリックします。
WebStorm はコンテナー内で
lsコマンドを 実行し 、コンテナーのファイルシステムの ファイル タブを開きます。
ファイル タブでは、任意のファイルをダブルクリックしてエディターで表示できます。 WebStorm はファイルを読み取り専用モードで開くため、編集や削除はできません。
コンテナー内のプロジェクトファイルを操作する
Docker コンテナーでプロジェクトを開いたり、最近開いたプロジェクトを表示したりできます。

コンテナーでプロジェクトを開く
Dockerfileを含むプロジェクトを開きます。Dockerfileを開き、左側のガターでをクリックして Docker 上でプロジェクトを実行します。
サービス ツールウィンドウで、コンテナーを右クリックし、 プロジェクトを開く | ディレクトリを選択 をクリックします。
または、 タブで プロジェクトを開く をクリックします。
表示されたウィンドウで、開きたいディレクトリを選択し、 OK をクリックします。
プロジェクトを開く場所を選択し、そのプロジェクトを信頼することを確認してください。 プロジェクトが開かれるので、作業を続けられます。
コンテナーで最近のプロジェクトを開く
サービス ツールウィンドウでコンテナーを右クリックし、 プロジェクトを開く | 最近のプロジェクト をクリックして、開きたいものを選択します。
または、 タブで プロジェクトを開く ドロップダウンをクリックし、 最近のプロジェクト をクリックします。 次に、開きたいものを選択します。
最近のプロジェクトファイルの一覧は IDE のようこそ画面にも表示されており、メインの Docker プロジェクトが閉じていても開くことができます。

SELinux でマウントをバインドする
ホストマシンが SELinux(英語) を使用している場合、セキュリティモジュールにより、コンテナー内で実行されているプロセスがマウントされたファイルやディレクトリにアクセスできなくなる可能性があります。 これを回避するには、マウントされたファイルとディレクトリに :z オプションを使用してラベルを付けます。 詳細については、「SELinux ラベルを構成する(英語) 」を参照してください。
Docker コンテナーを実行する際、WebStorm は /bin などの最上位ディレクトリを除き、ホストマシン上のすべてのボリュームバインドに :z フラグを自動的に追加できます。
バインドマウントに SELinux ラベルを適用する
Ctrl+Alt+S を押して設定を開き、 を選択します。
:z マウントオプションをほぼすべての SELinux システムのバインドボリュームに適用 を選択します。
