используя vscode и wsl2, я попытался запустить контейнер, используя метод по умолчанию и без настройки. Это вызвало ту же ошибку, что и ниже.
поэтому, следуя документам vscode, я установил "workspaceMount"
в devcontainer.json
"workspaceMount": "source=${localWorkspaceFolder},target=/workspaces/myRepo,type=bind,consistency=delegated",
"workspaceFolder": "/workspaces",
Я выбираю Reopen in container
, происходит последовательность запуска, но выдается ошибка
a mount config is invalid, make sure it has the right format and a source folder that exists on the machine where the Docker daemon is running
ошибка журнала
Command failed: docker run -a STDOUT -a STDERR --mount source=d:\git\myRepo,target=/workspaces/myRepo,type=bind,consistency=delegated --mount type=volume,src=vscode,dst=/vscode -l vsch.quality=stable -l vsch.remote.devPort=0 -l vsch.local.folder=d:\git\myRepo --cap-add=SYS_PTRACE --security-opt seccomp=unconfined --entrypoint /bin/sh vsc-myRepo-a878aa9edbcf04f717c76e764dabcde6 -c echo Container started ; trap "exit 0" 15; while sleep 1 & wait $!; do :; done
запустив контейнер с рабочего стола докера, я могу подтвердить
cd /workspaces
ls -l
drwxr-xr-x 2 root root 4096 Dec 3 11:48 myRepo
Эта проблема из-за владельца root:root
?
Следует ли изменить это с помощью chown в файле Dokerfile? если да, не могли бы вы предоставить пример кода для этого, это RUN chown ...
?
Я думаю, вы следовали документации в https://code.visualstudio.com/docs/remote/containers-advanced
Источник должен содержать подпапку «myRepo», а цель — только «рабочие пространства».
"workspaceMount": "source=${localWorkspaceFolder}/myRepo,target=/workspaces,type=bind,consistency=delegated",
"workspaceFolder": "/workspaces",