Я запускаю контейнер Docker с помощью специального сценария bash, который запускает контейнер, а затем создает пользователя X с динамическим именем, UID и GUID в контейнере. Затем я могу выполнить bash в контейнере и выполнять действия от имени этого пользователя X. Сценарий также создает пользователя «псевдоним» с именем vscode с тем же UID, что и ранее созданный динамический пользователь X.
В VSCode я могу подключиться к этому контейнеру. Два вопроса:
- Как я могу настроить VSCode для выполнения всех действий как пользователь vscode или как пользователь X? (При использовании devcontainer.json для создания контейнера это тривиально, но теперь я подключаюсь к существующему контейнеру, а devcontainer.json не используется).
- В devcontainer.json у вас есть возможность автоматически устанавливать расширения. Какой файл настроек мне нужно создать для автоматической установки расширений при присоединении к контейнеру?
Решение должно быть автоматизировано. Например. ручное вмешательство и фиксация образа, как предложено ниже, возможно, но пользователям будет намного сложнее просто использовать мой образ Docker.
Я обновился до vscode 1.39 и попытался добавить:
ADD server-env-setup /root/.vscode-server/server-env-setup
Но похоже, что server-env-setup используется только для WSL.