Для моего проекта требуется три контейнера / службы:
web
и api
должны быть собраны из их соответствующих файлов Docker:
api/Dockerfile
web/Dockerfile
Каталоги api
и web
содержат исходный код для соответствующих служб.
Как настроить VSCode так Я создаю и веб, и API-контейнеры, выбирая, какую службу открывать удаленно через файл devcontainer.json
?
Моя конфигурация devcontainer выглядит следующим образом:
# .devcontainer/docker-compose.yml
services:
web:
build:
context: ../web
dockerfile: Dockerfile
ports:
- 3000:3000
links:
- api
api:
build:
context: ../api
dockerfile: Dockerfile
ports:
- 3001:3001
links:
- db
db:
image: postgres
restart: unless-stopped
ports:
- 5432:5432
environment:
POSTGRES_PASSWORD: pass
POSTGRES_USER: user
POSTGRES_DB: data
# .devcontainer/devcontainer.json
{
"name": "App",
"dockerComposeFile": "docker-compose.yml",
"service": "web",
"workspaceMount": "source=${localWorkspaceFolder}/web,target=/workspace,type=bind,consistency=delegated",
"workspaceFolder": "/workspace"
}