Docker コンテナー
Docker コンテナーは、対応するイメージのランタイムインスタンスです。PyCharm は、Docker 実行構成を使用して、Docker イメージをビルドし、コンテナーを実行するコマンドを実行します。
Docker プラグインを有効にする
この機能は、デフォルトで PyCharm にバンドルされて有効になっている Docker(英語) プラグインに依存しています。関連する機能が利用できない場合は、プラグインを無効にしていないことを確認してください。
Ctrl+Alt+S を押して設定を開き、
を選択します。インストール済みタブを開き、Docker プラグインを見つけて、プラグイン名の横にあるチェックボックスを選択します。
既存のイメージからコンテナーを実行する
以前にプルまたはビルドした、ローカルに存在する Docker イメージからコンテナーを実行できます。
サービスツールウィンドウで、イメージを選択して をクリックするか、コンテキストメニューからコンテナーの作成を選択します。
コンテナーの作成ポップアップで、作成をクリックします。
表示される Docker 構成の作成ダイアログでは、構成に固有の名前を付けて、コンテナーの名前を指定できます。コンテナー名フィールドを空のままにしておくと、Docker はそれにランダムな一意の名前を付けます。
完了したら、実行をクリックして新しい構成を起動します。
これにより、Docker イメージ実行構成が作成されて開始されます。
Dockerfile からコンテナーを実行する
コンテナーを実行する Dockerfile を開きます。
ガターの をクリックし、この Dockerfile からコンテナーを実行することを選択します。
これにより、デフォルト設定で Dockerfile 実行構成が作成および開始されます。これにより、最初に Dockerfile に基づいてイメージが構築され、次にこのイメージに基づいてコンテナーが実行されます。
カスタム設定を使用して実行構成を作成するには、ガターで をクリックし、新規実行構成を選択します。ビルドされたイメージのカスタムタグ、コンテナーの名前、Dockerfile を読み取るコンテキストフォルダーを指定できます。コンテキストフォルダーは、たとえば、Dockerfile の範囲外にあるアーティファクトをイメージのファイルシステムに追加したい場合に役立ちます。
コンテナーとの連携
作成されたコンテナーは、サービスツールウィンドウに一覧表示されます。デフォルトでは、サービスツールウィンドウには、実行されていないコンテナーを含むすべてのコンテナーが表示されます。停止したコンテナーをリストから非表示にするには、ツールバーの をクリックし、Docker を選択してから、停止したコンテナーをクリックしてチェックボックスを削除します。
コンテナーを選択すると、コンテナーの作成および開始時に対応する Docker 実行構成によって生成されたデプロイログを表示するビルドログタブを表示できます。
ダッシュボードタブは、コンテナーに関する重要な情報を提供します。名前とハッシュ ID に加えて、環境変数、ポート、ボリュームバインディングも一覧表示されます。環境変数、ポート、ボリュームバインディングを追加、編集、削除できます。ただし、これらの変更では、コンテナーを再作成する必要があり、このコンテナーの作成に使用される Docker 実行構成では変更しないでください。これは、次回構成を実行するときに変更が保持されないことを意味します。
詳細は、コンテナーダッシュボードを参照してください。
実行中のコンテナー内でコマンドを実行する
サービスツールウィンドウで、コンテナー名を右クリックし、実行をクリックします。
コンテナーでコマンドを実行ポップアップで、作成と実行をクリックして、新しいコマンドを作成して実行します。
または、以前に実行したコマンドの 1 つを選択することもできます。
実行ダイアログでコマンドを入力し、OK をクリックします。例:
ls /tmp
/tmp ディレクトリの内容を一覧表示する
mkdir /tmp/my-new-dir
/tmp ディレクトリ内に my-new-dir ディレクトリを作成する
/bin/bash
bash
セッションを開始する
詳細については、docker exec(英語) コマンドリファレンスを参照してください。
実行中のコンテナーに関する詳細情報の表示
サービスツールウィンドウで、コンテナー名を右クリックし、インスペクションをクリックします。
出力は、インスペクションタブに JSON オブジェクトとして表示されます。
詳細については、docker inspect(英語) コマンドリファレンスを参照してください。
コンテナー内で実行中のプロセスの表示
サービスツールウィンドウで、コンテナー名を右クリックし、プロセスを表示をクリックします。
出力は、プロセスタブの JSON 配列としてレンダリングされます。
詳細については、docker top(英語) コマンドリファレンスを参照してください。
コンテナー出力にコンソールをアタッチする
サービスツールウィンドウで、コンテナーを右クリックし、接続をクリックします。
コンソールは、コンテナー内で実行されている ENTRYPOINT(英語) プロセスの出力に接続され、アタッチされたコンソールタブで表示されます。
詳細については、docker attach(英語) コマンドリファレンスを参照してください。
コンテナー内のファイルを参照する
サービスツールウィンドウで、コンテナーを右クリックし、ファイルの表示をクリックします。
PyCharm はコンテナー内で
ls
コマンドを実行し、コンテナーのファイルシステムでファイルタブを開きます。
ファイルタブでは、任意のファイルをダブルクリックしてエディターで表示できます。PyCharm はファイルを読み取り専用モードで開くため、編集または削除することはできません。
SELinux でマウントをバインドする
ホストマシンが SELinux(英語) を使用している場合、セキュリティモジュールにより、コンテナー内で実行されているプロセスがマウントされたファイルやディレクトリにアクセスできなくなる可能性があります。これを回避するには、マウントされたファイルとディレクトリに :z
オプションを使用してラベルを付けます。詳細については、「SELinux ラベルを構成する(英語)」を参照してください。
Docker コンテナーを実行している場合、PyCharm は、/bin などの最上位ディレクトリを除く、ホストマシン上のすべてのボリュームバインドに :z
フラグを自動的に追加できます。
バインドマウントに SELinux ラベルを適用する
Ctrl+Alt+S を押して設定を開き、
を選択します。SELinux システムのほぼすべてのバインドボリュームに:z マウントオプションを適用しますを選択します。
関連ページ:
Docker 実行構成
Docker 実行構成を使用して、Docker イメージを構築し、PyCharm からコンテナーを実行します。例: アプリケーションのバックエンドで使用されるデータベースを使用してコンテナーを実行できます。または、アプリケーションのバイナリ、依存関係、その他の必要なファイルを使用してイメージを構築することもできます。これは、アプリケーションの「Dockerizing」と呼ばれます。Docker 実行構成を作成するメインメニューで、に移動します。実行 / デバッグ構成ダイアログで、をクリックし、D...
プラグインのインストール
プラグインは PyCharm のコア機能を拡張します。例: プラグインをインストールして、次の機能を取得します。バージョン管理システム、課題追跡システム、ビルド管理サーバー、その他のツールとの統合。さまざまな言語とフレームワークのコーディング支援サポート。ショートカットのヒント、ライブプレビュー、ファイルウォッチャーなど。新しいプログラミング言語を学ぶのに役立つコーディング演習。プラグイン設定を開くを押して設定を開き、を選択します。マーケットプレースタブを使用して、JetBrains マーケット...
Docker イメージ
Docker イメージは、コンテナーを実行するための実行可能パッケージです。Docker はレジストリを使用してイメージを配布します。デフォルトでは、PyCharm は Docker Hub を使用します。これは、さまざまな Linux フレーバー、データベース管理システム、Web サーバー、ランタイム環境など、最も一般的なイメージがすべて含まれるパブリックレジストリです。他にもパブリックおよびプライベートの Docker レジストリがあり、独自のレジストリサーバーをデプロイすることもできます。詳細...
Docker イメージ実行構成
このタイプの構成を使用して、以前にプルまたはビルドしたローカルに存在するイメージから Docker コンテナーを実行します。Docker は次の構文で docker run コマンドを使用します。docker run [OPTIONS] IMAGE [COMMAND] [ARG...]Docker イメージ実行構成のオプションを使用して、このコマンドのすべての引数を設定できます。デフォルトでは、Docker イメージ構成には以下のオプションがあります。名前実行構成の名前を指定して、編集または実行時に...
Dockerfile 実行構成
このタイプの構成を使用して、Dockerfile からイメージを構築し、このイメージからコンテナーを派生させます。Docker は、docker build コマンドを使用して Dockerfile からイメージを構築し、次に docker run コマンドを使用してそこからコンテナーを起動します。デフォルトでは、Dockerfile 構成には以下のオプションがあります。名前実行構成の名前を指定して、編集または実行時に他の構成の間ですばやく識別できるようにします。プロジェクトファイルとして保存実行構成設...
サービスツールウィンドウ
サービスツールウィンドウを使用すると、実行 / デバッグ構成、データベースセッション、Docker 接続など、ソフトウェア開発中に役立つさまざまなサービスを管理できます。プラグイン開発者は、IntelliJ プラットフォーム API を通じて他のサービスを追加できます。メインツールバーには、すべてのサービスタイプに共通の次のボタンとメニューが含まれています。すべて展開リスト内のすべての項目を展開します。すべて折りたたむリスト内のすべての項目を折りたたみます。グループ化サービスのリストを整理する方...