VSCode: не удается подключиться к контейнеру Docker с помощью расширения Remote Development
Я пытаюсь настроить VSCode, чтобы я мог работать над проектом, который находится внутри контейнера Docker. Недавно было опубликовано расширение Remote Development, которое, по-видимому, включает именно это.
Я следовал подробным официальным инструкциям по созданию .devcontainer/devcontainer.json
и настройку пульта, запустив Remote-Containers: Reopen Folder in Container
Однако даже с официальными / предоставленными контейнерами и настройками я получаю сообщение об ошибке:
Setting up container for folder: /home/ilijas/<path_to>/workspace
Error: (HTTP code 500) server error - linux spec user: unable to find user ilijas: no matching entries in passwd file
at /home/ilijas/.vscode-insiders/extensions/ms-vscode-remote.remote-containers-0.53.0/dist/extension.js:1:151013
at /home/ilijas/.vscode-insiders/extensions/ms-vscode-remote.remote-containers-0.53.0/dist/extension.js:1:150976
at m.buildPayload (/home/ilijas/.vscode-insiders/extensions/ms-vscode-remote.remote-containers-0.53.0/dist/extension.js:1:150986)
at IncomingMessage.<anonymous> (/home/ilijas/.vscode-insiders/extensions/ms-vscode-remote.remote-containers-0.53.0/dist/extension.js:1:150486)
at IncomingMessage.emit (events.js:187:15)
at endReadableNT (_stream_readable.js:1090:12)
at process._tickCallback (internal/process/next_tick.js:63:19)
В моих первых попытках я попытался смонтировать локальное рабочее пространство на удаленное, однако, поскольку я не смог устранить эту ошибку, связанную с отсутствием пользователя, я удалил все аргументы в настройках докера, которые относились к пользователю, просто для создания одного фиктивного контейнера. Работа. У меня не было успеха. Я знаю, что это новое расширение, но все же, я надеюсь, что кто-то может помочь.
1 ответ
По сути, удаление всех предыдущих док-контейнеров решило проблему.
Ссылка на выпуск GitHub:
Контейнер имеет метку с папкой в качестве значения, поэтому его можно найти снова. Когда вы закрываете окно, контейнер только останавливается, но не удаляется для дальнейшего использования. (Вы можете внести некоторые изменения в контейнер, который хотите сохранить. Также: повторное использование существующего контейнера выполняется немного быстрее.)