首页 > 解决方案 > 如何手动安装 VS Code Server(无需 VS Code 再次尝试安装)?

问题描述

我尝试使用“远程容器:在容器中重新打开”在容器中运行我的 Visual Studio 代码。为此,我有以下文件夹结构:

.devcontainer/
  devcontainer.env
  devcontainer.json
  Dockerfile
  certs.pem

我可以毫无问题地构建 docker 映像,但我仍然无法创建容器,因为下载和安装 VS Code Server 时出现问题:

Support for Alpine Linux is in preview.

[14250 ms] Start: Run in container: test -d /home/<name>/.vscode-server/bin/26076a4de974ead31f97692a0d32f90d735645c0
[14252 ms] 
[14252 ms] 
[14252 ms] Exit code 1
[14252 ms] Installing VS Code Server for commit 26076a4de974ead31f97692a0d32f90d735645c0
[14252 ms] Start: Run in container: mkdir -p /home/<name>/.vscode-server/bin/26076a4de974ead31f97692a0d32f90d735645c0_1590499133646
[14254 ms] 
[14254 ms] 
[14254 ms] Start: Downloading VS Code Server
[15315 ms] Failed to download VS Code Server (https://update.code.visualstudio.com/commit:26076a4de974ead31f97692a0d32f90d735645c0/server-linux-alpine/stable): HTTP 407 - authenticationrequired

因此,我尝试按照 jia2 和崖柏迪克的建议手动执行此操作:https ://github.com/microsoft/vscode-remote-release/issues/78 。

所以我在我的 Dockerfile 中添加了以下几行:

RUN mkdir -p /home/<name>/.vscode-server/bin/26076a4de974ead31f97692a0d32f90d735645c0_1590494378070 &&\
cd /home/<name>/.vscode-server/bin/26076a4de974ead31f97692a0d32f90d735645c0_1590494378070 && \
curl --proxy "http://<user>:<pw>@<company_domain>:<port>" --cacert /home/certs.pem -L https://update.code.visualstudio.com/commit:26076a4de974ead31f97692a0d32f90d735645c0/server-linux-alpine/stable -o vscode-server-linux-alpine.tar.gz &&\
tar -xzf vscode-server-linux-alpine.tar.gz

现在的问题是 VS Code 仍然尝试创建上面的文件夹来安装 VS Code Server 并抱怨(当然!)它已经存在:

[14142 ms] Installing VS Code Server for commit 26076a4de974ead31f97692a0d32f90d735645c0
[14142 ms] Start: Run in container: mkdir -p /home/<name>/.vscode-server/bin/26076a4de974ead31f97692a0d32f90d735645c0_1590496132128
[14144 ms] 
[14144 ms] mkdir: can't create directory '/home/<name>/.vscode-server/bin/26076a4de974ead31f97692a0d32f90d735645c0_1590496132128': Permission denied
[14144 ms] Exit code 1
[14146 ms] Command in container failed: mkdir -p /home/<name>/.vscode-server/bin/26076a4de974ead31f97692a0d32f90d735645c0_1590496132128

同样根据SSH with VSCode without internet这应该可以工作,但显然它没有。我不确定是否可以通过在容器中永久安装 VS Code 的服务器来解决它,因为我还不太熟悉 docker-compose。我将不胜感激任何尝试的建议或指出我犯的错误。

标签: linuxdockervisual-studio-codealpinevscode-remote

解决方案


推荐阅读