На главную
Контейнеры и CI/CD
Окружение разработки в контейнере
Окружение разработки в контейнере: devcontainer.json со стеком, пробросом портов и расширениями редактора, при желании — docker-compose с базой данных рядом.
Проект
Через запятую, пусто — порт стека
Пусто — «npm ci»
Идентификаторы через запятую
Что добавить внутрь
Файлы
.devcontainer/devcontainer.json
{
"name": "project",
"image": "mcr.microsoft.com/devcontainers/javascript-node:1-22-bookworm",
"features": {
"ghcr.io/devcontainers/features/git:1": {}
},
"forwardPorts": [
3000
],
"portsAttributes": {
"3000": {
"label": "Приложение",
"onAutoForward": "notify"
}
},
"postCreateCommand": "npm ci",
"customizations": {
"vscode": {
"extensions": [
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode"
],
"settings": {
"editor.formatOnSave": true,
"files.eol": "\n"
}
}
},
"remoteUser": "vscode"
}
Папка .devcontainer лежит в корне репозитория. VS Code и GitHub Codespaces поднимут окружение сами, порты из forwardPorts пробросятся на хост, а postCreateCommand выполнится один раз — после создания контейнера, а не при каждом запуске.