![](/img/trans.png)
[英]In VSCode, 'Python: Remote Attach' fails to connect to a running Docker Container
[英]How to attach VSCode to a remote Docker container while setting the correct user
我使用運行容器的特殊 bash 腳本啟動 Docker 容器,然后在容器中創建具有動態名稱、UID 和 GUID 的用戶 X。 然后我可以將 bash 放入容器中,並以該用戶 X 的身份執行操作。該腳本還創建了一個名為 vscode 的“別名”用戶,其 UID 與之前創建的動態用戶 X 相同。
在 VSCode 中,我可以附加到這個容器。 兩個問題:
解決方案應該是自動化的。 例如。 可以按照下面的建議進行手動干預和提交圖像,但會使用戶更難僅使用我的 Docker 圖像。
我更新到 vscode 1.39 並嘗試添加:
ADD server-env-setup /root/.vscode-server/server-env-setup
但是“server-env-setup”似乎只用於 WSL。
我將按相反的順序回答您的問題:
VSCode 在使用docker exec
命令創建容器后安裝擴展。
現在配方:最簡單的方法是使用 VSCode 已經創建的容器:
docker ps -a
。 您應該看到最后死亡的容器如下: docker commit a7aa5af7ec08 all-installed-vscode-image:latest
。 現在您有了一個 docker 映像,其中安裝了您喜愛的所有軟件。 您可以將此圖像上傳到您最喜歡的 docker 注冊表並在其他機器上使用。docker run -i -u vscode all-installed-vscode-image:latest
。 並將 vscode 附加到這個容器。 這是您第一個問題的答案。此外,當您附加到已經運行的容器甚至在遠程機器上運行的容器時,您可以查看vscode 文檔並使用 devcontainer.json 配置。
VSCode 現在實現了一個“remoteUser”屬性,您可以在圖像配置中設置它。 這將確保 VSCode 以正確的用戶身份登錄到容器中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.