Introduction
Visual Studio Codeでコンテナ内に拡張機能をインストールできない場合の対応。
こんな感じのエラーが、コンテナ内ででます。
proxyや証明書はインストールしたコンテナのはずなのですが。
根本原因を追究したかったのですが、時間がなかったので暫定対応を行いました。
How to?
Remote - Containers拡張でデバッグ用のコンテナを起動する際、code-serverが読み込まれるのですが、その際に拡張機能の入手に失敗してるようです。
そのため、
- コンテナ起動時に拡張機能をインストール
- コンテナビルド時に拡張機能をインストール
という手法がとれます。
今回は後者を。
Remote - Containers拡張で作成されるデバッグコンテナのDockerfileに
1 | RUN apt-get update && apt-get install -y --no-install-recommends \ |
のような記述を追加します。
これにより、拡張機能があらかじめ追加された状態になります。
また拡張機能をあらかじめ入れておくことで、コンテナをビルドし直した際に、再度拡張機能をインストールし直す必要もなくなります。
本来はコンテナ起動後、手動で拡張機能をインストールしコンテナのリロードで有効化するのですが、それをスキップできます。
こんな感じ。