Перейти до вмісту

Docker Compose

SnakeFlow керує Docker Compose з сайдбару та головного меню. Підтримуються docker compose, docker-compose та podman compose.

Встановлення Docker Desktop

  1. Завантажте Docker Desktop for Windows
  2. Запустіть інсталятор (потрібен WSL2 або Hyper-V)
  3. Запустіть Docker Desktop з меню Пуск
  4. Перевірте в терміналі: docker --version та docker compose version

Завантаження Docker-образів

Деякі перевірки Quality Hub (наприклад Bearer SAST) використовують образи. Заздалегідь:

Terminal window
docker pull bearer/bearer:latest-amd64
docker images | grep bearer

Налаштування

"devManager.docker.composeCommand": "docker compose",
"devManager.project.composePath": "",
"devManager.project.containerActions": [
{ "label": "Up", "command": "docker compose up -d" },
{ "label": "Down", "command": "docker compose down" },
{ "label": "Restart", "command": "docker compose restart" },
{ "label": "Status", "command": "docker compose ps" },
{ "label": "Logs", "command": "docker compose logs -f --tail 100" },
{ "label": "Pull Images", "command": "docker compose pull" },
{ "label": "Build Images", "command": "docker compose build" },
{ "label": "Down + Volumes", "command": "docker compose down -v", "confirm": true }
]

Параметри

ПараметрЗа замовчуваннямОпис
devManager.docker.composeCommand"docker compose"CLI для compose
devManager.project.composePath""Шлях до compose-файлу (порожньо = авто)
devManager.project.containerActionsautoМеню дій

Автовизначення

Якщо composePath порожній (""), шукаються файли:

  • docker-compose.yaml / docker-compose.yml
  • compose.yaml / compose.yml

У корені проєкту та в docker/, infra/.

Власний compose-файл

"devManager.project.composePath": "infra/docker-compose.dev.yaml"

Podman

"devManager.docker.composeCommand": "podman compose"

Інфраструктурні команди

Дії не обмежені Compose — можна будь-які команди:

"devManager.project.containerActions": [
{ "label": "Start DB", "command": "docker run -d --name postgres -p 5432:5432 -e POSTGRES_PASSWORD=secret postgres:16" },
{ "label": "Stop DB", "command": "docker stop postgres && docker rm postgres" },
{ "label": "Redis", "command": "docker run -d --name redis -p 6379:6379 redis:alpine" },
{ "label": "Terraform up", "command": "terraform apply -auto-approve", "cwd": "infra/terraform" }
]