Docker のトラブルシューティング
JetBrains は、Docker プラグインの修正と改善に常に取り組んでいます。既知の Docker の問題と機能リクエストのリスト(英語)をバグ追跡システムで見つけて、最も影響を受けるものに投票できます。独自のバグや機能リクエストを提出することもできます。
次の問題のいずれかが発生した場合は、対応する推奨される解決策を試してください。
- PyCharm から Docker デーモンに接続できません
以下を確認してください:
詳細は、Docker 接続設定を参照してください。
- Docker Compose でマルチコンテナーアプリケーションを実行できない
Docker Compose 実行可能ファイルが、設定ダイアログ の Ctrl+Alt+S で正しく指定されていることを確認してください。詳細については、Docker ツール設定を参照してください。
- Docker Compose が Unix ソケット設定を介して Ubuntu で動作しない
Ubuntu で Docker Compose を実行すると、次のエラーメッセージが表示されます。
docker.errors.TLSParameterError: Path to a certificate and key files must be provided through the client_config param. TLS configurations should map the Docker CLI client configurations.この場合、エンジン API URL フィールドで
unix:///var/run/docker.sock
を指定した TCP ソケット接続を使用します。詳細については、Docker 接続設定を参照してください。- ポートバインディングを使用できません
対応するコンテナーポートが露出していることを確認します。Dockerfile(英語) で EXPOSE(英語) コマンドを使用してください。
- レジストリからイメージを取得できません
レジストリから Docker イメージを取得しようとすると、次のメッセージが表示されます。
Failed to parse dockerCfgFile: <your_home_dir>/.docker/config.json, caused by: ... {"credsStore":"wincred"}この場合、<your_home_dir>/.docker ディレクトリに移動し、config.json ファイルを削除します。
- Dockerfile および Docker Compose ファイルを適切なタイプに関連付けることができません
デフォルトでは、PyCharm は名前と内容によって Dockerfile および Docker Compose ファイルを識別できるはずです。これにより、補完候補、インスペクション、ガターアイコンなど、これらのファイルのさまざまなコーディング支援機能が有効になります。PyCharm がファイルを認識しない場合は、ファイルの種類を手動で指定するように求められます。既存のファイルを正しいタイプに関連付けるには、プロジェクトツールウィンドウでそのファイルを右クリックし、コンテキストメニューからファイルタイプの関連付けを選択します。
ファイルタイプの関連付けアクションが無効になっている場合は、ファイル名が他のファイルタイプのパターンとして登録されている可能性があります。例: テキストファイルとして認識されるカスタム名を持つ Dockerfile がある場合、それを Dockerfile タイプに関連付けることはできません。ファイルタイプパターンを削除するには、次の手順を実行します。
Ctrl+Alt+S を押して設定を開き、
を選択します。該当するファイルタイプ(この場合はテキスト)を選択し、ファイル名でパターンを削除します。
変更を適用するには、OK をクリックします。
コンテキストメニューでファイルタイプの関連付けを使用して正しいファイルタイプを設定できるようになりました。
- サービス経由で Docker に接続する際の CPU 使用率が高い
Windows 上の Docker サービスのバックエンドとして Hyper-V を使用している場合、ウイルス対策ソフトウェアは常に Hyper-V 仮想ディスクファイル (.vhdx) をスキャンします。これにより、コンテナーが実行されていない場合でも、CPU リソースが過剰に消費されます。
この場合、Hyper-V 仮想ディスクファイルをウイルス対策スキャンから除外します。
関連ページ:
Docker
Docker は、分離された再現可能な環境で実行可能ファイルをデプロイおよび実行するためのツールです。これは、たとえば、本番環境と同じ環境でコードをテストする場合に役立ちます。PyCharm は Docker 機能を統合し、Docker イメージの作成、Docker コンテナーの実行、Docker Compose アプリケーションの管理、パブリックおよびプライベート Docker レジストリの使用など、IDE から直接実行するための支援を提供します。Docker コンテナーにデプロイされたさまざま...
Docker 接続設定
PyCharm から Docker エンジン API にアクセスするための設定を指定します。Docker と PyCharm の統合の使用方法の詳細については、「Docker」を参照してください。Docker プラグインを有効にするこの機能は、デフォルトで PyCharm にバンドルされて有効になっている Docker プラグインに依存しています。関連する機能が利用できない場合は、プラグインを無効にしていないことを確認してください。を押して設定を開き、を選択します。インストール済みタブを開き、Doc...
Docker ツール設定
PyCharm が Docker デーモンと対話するために使用する Docker CLI 実行可能ファイルへのパスを指定します。Docker プラグインを有効にするこの機能は、デフォルトで PyCharm にバンドルされて有効になっている Docker プラグインに依存しています。関連する機能が利用できない場合は、プラグインを無効にしていないことを確認してください。を押して設定を開き、を選択します。インストール済みタブを開き、Docker プラグインを見つけて、プラグイン名の横にあるチェックボックスを選択...
Docker Compose
Docker Compose は、マルチコンテナーアプリケーションを実行するために使用されます。例: Web サーバー、バックエンドデータベース、アプリケーションコードを個別のサービスとして実行できます。各サービスは、必要に応じてコンテナーを追加することで拡張できます。これにより、本番環境と同様に、動的な環境で効率的な開発とテストを実行できます。Docker プラグインを有効にするこの機能は、デフォルトで PyCharm にバンドルされて有効になっている Docker プラグインに依存しています。関連...
Podman
Podman は、コンテナーをルートとして、またはルートレスモードで実行できるデーモンレスコンテナーマネージャーです。Podman コマンドは Docker と完全に互換性があるため、一方を他方に置き換えることができます: コア Podman ランタイム環境は、Linux オペレーティングシステムでのみ実行できます。ただし、他のオペレーティングシステム用のリモートクライアントを使用して、Podman を実行しているマシン上のコンテナーを管理できます。このトピックでは、PyCharm が Podman...