Как вручную установить VS Code Server (без попытки повторной установки VS Code)? - PullRequest
2 голосов
/ 26 мая 2020

Я пытаюсь запустить свой код 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 и cliffburdick: 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

Также согласно S SH с VSCode без inte rnet это должно работать, но, по-видимому, это не так. Я не уверен, смогу ли я решить эту проблему с помощью Постоянно установить сервер VS Code в контейнере , поскольку я еще не очень хорошо знаком с docker -compose. Буду признателен за любые предложения по тестированию или указатели на ошибки, которые я сделал.

...