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