Так как у меня podman, а не docker, то я могу даже шарить быстрый pnpm-кеш на ссылках между проектами. В podman volume — это btrfs-диск и hard link работают между ними.
https://github.com/ai/environment/blob/main/devcontainer/devcontainer.json#L5-L9
И даже история консоли общая
https://github.com/ai/environment/blob/main/devcontainer/devcontainer.json#L10-L14
https://github.com/ai/environment/blob/main/zshrc#L69
В конфиге шелла, я с помощью проверки переменной $container понимаю, внутри ли я контейнера.
Исходя из этого накладываю немного разные настройки.
Например, снаружи контейнера я выключаю git-хуки
https://github.com/ai/environment/blob/main/zshrc#L138
https://github.com/ai/environment/blob/main/bin/no-hooks-git
С помощью devcontainer/cli можно работать с контейнером и из обычной консоли, вне VS Code.
Я сделал скрипт devup для запуска контейнера и dev для запуска скриптов внутри контейнера.
https://github.com/ai/environment/blob/main/zshrc#L75-L129
В конфиге шелла, я с помощью проверки переменной $container понимаю, внутри ли я контейнера.
Исходя из этого накладываю немного разные настройки.
Например, снаружи контейнера я выключаю git-хуки
https://github.com/ai/environment/blob/main/zshrc#L138
https://github.com/ai/environment/blob/main/bin/no-hooks-git