Dev Container の問題のトラブルシューティング
以下は、Dev Containers での作業中に発生する可能性のある問題と、その解決策です。
無効なボタンがある空のビルド Dev Container ダイアログがあります
Docker をチェックして、ハングしている場合は再起動してください。
Windows 10 では SSH による接続が非常に遅い
OpenSSH バージョン(英語)を 8.5 以降にアップグレードします。
Git クローンが動作せず、追加されたキーにもかかわらずクライアントで開かれたプロジェクトは空です
以下の点を確認してください:
OpenSSH クライアントがシステム変数 C:\Windows\System32\OpenSSH\ の PATH にあるかどうかを確認し、OS を再起動します。
SSH エージェントを実行するためのコマンドを実行し、キーを追加します。
SSH キーの権限を 600 に変更します (所有者のみが読み取り可能、他のユーザーは読み取りも書き込みもできません)。
UI がフリーズする可能性がある
WSL VM 上で ijent プロセスが実行中にサスペンドされると、UI がフリーズすることがあります。 PyCharm は切断された接続を検出できません。なぜなら ijent プロセス自体が停止しておらず、リクエストに応答しなくなるだけで、すべてのリクエストがハングしてしまうからです。
このような動作が発生する理由としては、次のようなものが考えられます。
docker container pause(手動で実行、または Docker デスクトップから実行)はコンテナーを一時停止します。 Dev Container が IDE で現在開いている場合、過去に開かれた場合、ユーザーが開こうとした場合、UI がフリーズする可能性があります。Windows では、Docker の issueにより、Docker デスクトップの
PauseおよびResource Saver機能が WSL のサスペンドを引き起こす可能性があります。 つまり、PyCharm で Docker プロジェクトを一度も開いたことがないユーザーでも、WSL プロジェクトで作業しつつ同時に Docker を使用している場合、Docker Desktop の推論による問題に遭遇する可能性があります。 Windows の Docker デスクトップでは、Resource Saverオプションを常に無効にし、Pauseオプションの使用を避けることをお勧めします。