Docker и ibcmd

June 11, 2026 · View on GitHub

Команды vrunner могут выполняться не на локальной машине, а внутри Docker-контейнера с платформой 1С. Это полезно, когда платформа не установлена или её негде устанавливать:

  • единое окружение у всей команды — версия платформы зашита в образ;
  • работа в GitHub Codespaces и dev-контейнерах: в облачной среде нет GUI и установленной платформы, но серверные операции (создание ИБ, загрузка/выгрузка конфигурации, сборка) выполняются в контейнере прямо из расширения;
  • тот же образ используется в CI — локальный запуск и пайплайн ведут себя одинаково.

Включение

{
  "1c-platform-tools.docker.enabled": true,
  "1c-platform-tools.docker.image": "your-registry/vrunner:8.3.27"
}

Как это работает

  • Команда запускается как docker run --rm -v <workspace>:/workspace -w /workspace <образ> … — рабочая папка проекта монтируется в контейнер, пути к файловой ИБ и исходникам нормализуются автоматически.
  • Внутри контейнера нет GUI, поэтому используется ibcmd: доступны только команды, поддерживающие пакетный режим (создание и обслуживание ИБ, загрузка/выгрузка, сборка); команды, требующие конфигуратор или клиент 1С, в Docker-режиме недоступны.
  • Образ должен содержать платформу 1С:Предприятие с компонентом сервера (для ibcmd) и vanessa-runner.

Где взять образ

Готовые публичные образы с платформой 1С не распространяются — лицензия 1С не позволяет. Образ собирается самостоятельно:

  • pravets/onec-images — рецепты и готовые GitHub Actions для сборки образов платформы и vrunner в свой registry; для скачивания дистрибутивов нужны учётные данные releases.1c.ru.
  • firstBitMarksistskaya/onec-docker — альтернативный набор, включает образы для Jenkins, k8s и gitsync.

Для расширения нужен образ с vanessa-runner (в onec-images — образ vrunner).

GitHub Codespaces

  1. В devcontainer.json подключите Docker: feature docker-in-docker (или docker-outside-of-docker).
  2. Авторизуйтесь в своём registry (docker login) и укажите образ в 1c-platform-tools.docker.image.
  3. Включите 1c-platform-tools.docker.enabled — команды дерева Инструменты 1С будут выполняться в контейнере внутри Codespace.