[英]measure and possibly speed up VS Code extension installation in Docker container
我正在使用帶有 DevContainer 擴展的 VS Code 在 Docker 容器中運行。
它工作得很好,但是每次更新 VS Code 或 Dockerfile 時,我都必須重建容器,在容器內安裝我需要的擴展需要幾分鍾。
[218513 ms] Start: Run in container: cd /root/.vscode-server/bin/e5a624b788d92b8d34d1392e4c4d9789406efe8f; export VSCODE_AGENT_FOLDER=/root/.vscode-server; /root/.vscode-server/bin/e5a624b788d92b8d34d1392e4c4d9789406efe8f/server.sh --disable-telemetry --extensions-download-dir /root/.vscode-server/extensionsCache --install-extension ms-python.python --install-extension ms-python.vscode-pylance --force
[537378 ms] Installing extensions...
Installing extension 'ms-python.python' v2020.12.424452561...
Installing extension 'ms-python.vscode-pylance' v2020.12.2...
Extension 'ms-python.vscode-pylance' v2020.12.2 was successfully installed.
Extension 'ms-python.python' v2020.12.424452561 was successfully installed.
[537379 ms]
[537379 ms] Start: Run in container: ls /root/.vscode-server/extensionsCache || true
[537387 ms] ms-python.python-2020.12.424452561
ms-python.vscode-pylance-2020.12.2
ms-toolsai.jupyter-2020.12.414227025
我對此有兩個問題:
加速容器初始化有多種解決方案:
一種方法是使用docker 卷並將其安裝在$HOME/.vscode-server
下。 在這種情況下,VS Code 將使用已安裝的實例。
另一種方法是將本地文件夾作為$HOME
文件夾掛載到 dev-container 中。 它可能會降低容器的整體性能,但我們也將保持永久 session 例如。 bash歷史,azure session等
第二種解決方案目前在擴展安裝方面存在一些問題(請參閱: 與.installExtensionsMarker 文件相關的問題),所以目前我建議使用 docker 卷。
有關如何配置卷的更多詳細信息,請參閱Advanced Container Configuration
文檔的以下部分:
我還建議使用一些已經構建並推送到容器注冊表的最終映像,以避免在container rebuild
期間安裝任何 python 或其他包。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.