Полный пример запуска 1С в докере (Linux)

17.10.22

Разработка - DevOps и автоматизация разработки

Описание примера запуска сервера 1С в докере на CentOS 7. Содержит архив со скриптами и последовательность шагов для запуска тестового сервера (Сервер, Клиент, Web и простой консоли управления информационными базами).

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Скрипты запуска 1С в докере (Linux)
.tar 69,50Kb
76 2 500 руб. Купить
Скрипты запуска 1С в докере (Astra Linux)
.rar 26,22Mb
13 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

В сети и на infostart.ru, в частности, много материалов по теории и примерам настройки сервера 1С в Docker окружении. Не буду цитировать экспертов и приводить ссылки, тем более что уже сложно понять какой материал в какой момент и откуда использовался. Если кто-то посчитает отдельные блоки «плагиатом», то прошу извинить и сообщить, обязательно вставлю ссылку. Сложно быть оригинальным, когда столько умных людей уже делились своими мыслями. В данной статье нет теории, нет ответов зачем это нужно и какие еще существуют варианты, а рассмотрена конкретная последовательность действий. Это статья родилась как желание закрепить опыт пошагового запуска для коллег и всех интересующихся.

Исходные данные:

Виртуальный сервер RAM 8Gb HDD 40Gb Linux CentOS 7 x64

Что ставим:

  • Docker CE 20.10 (последний на момент написания статьи)
  • Ubuntu 18.04 (Bionic)
  • 1С - 8.3.17.1851 (лично проверял 8.3.13, 15, 17)

Какие контейнеры создаем:

 
 Характеристики
  • Host data.local
  • Port 5432
  • Администратор postgres/postgres
  • 1c-server – Сервер 1С Предприятие 8.3.17.1851
 
 Характеристики
  • Host srv.local
  • Port 1540, 1541, 1545, 1560-1591
  • Простой веб-сервер для скачивания и загрузки дампов информационных баз
  • SSH сервер (22 порт, root/q123Q123)
  • VNC сервер (http://<адрес>:5900)
  • JDK 11 для разворачивания агента КИП
  • Отладка на сервере 1С по умолчанию разрешена
  • 1c-web – Веб сервер 1С Предприятие 8.3.17.1851
 
 Характеристики
  • Host web.local
  • Port 80
  • по умолчанию прописана база «test»
 
  • dashboard-app – Простое веб приложение для базового управления информационными базами на сервер
 
 Характеристики
  • Host dashboard.local
  • Port 3000
  • Portainer – Приложение для управления контейнерами
 
 Характеристики
  •  Port 9000

Общий порядок шагов

1. Установка docker (см.https://docs.docker.com/engine/install/centos/)

(перепечатка с сайта) (возможна установка на Astra Linux, проверял на Орел, если потребуется дам информацию)

yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce docker-ce-cli containerd.io
systemctl start docker
systemctl enable docker

2. Копируем папку (scp / ftp / ....) из прикрепления в рабочую папку сервера, например в /home, и распаковываем архив

cd /home
tar -xf 1cserver.tar

3. Для базового управления контейнерами неплохой инструмент portainer (см. https://www.portainer.io/) 

Будет запущен на порту 9000, можно после установки подключиться по адресу - http://<адрес сервера>:9000 для контроля последующих шагов.

cd /home
./portainer.sh

4. Копируем файлы установки 1с с сайта 1С в папку /home/dist

Много раз обсуждалось почему нельзя выкладывать дистрибутивы 1С, повторяться не буду. Нужно самостоятельно скачать с сайта 1С дистрибутивы платформы и клиента (см. https://releases.1c.ru/version_files?nick=Platform83&ver=8.3.17.1851)

- Будем считать, что скачали «Сервер 1С:Предприятия (64-bit) для DEB-based Linux-систем» - deb64_8_3_17_1851.tar.gz

- Будем считать, что скачали «Клиент 1С:Предприятия (64-bit) для DEB-based Linux-систем» - client_8_3_17_1851.deb64.tar

5. Распаковываем файлы установки и копируем в контейнеры

cd /home/dist

tar -xvf deb64_8_3_17_1851.tar.gz
tar -xvf client_8_3_17_1851.deb64.tar

cp -R ./ ./../1cserver-8.3.17/dist
cp -R ./ ./../1cserver-8.3.17-web/dist

6. Собираем образы контейнеров

cd /home
./build-images.sh

если все собралось, то в portainer должны появиться образы, примерно так:

 
 Пример экрана

7. Поднимаем контейнеры и запускаем

cd /home
./recreate-server.sh
./run.sh

если ошибок не возникло, то в portainer должны появиться запущенные контейнеры, примерно так:

 
 Пример экрана

Последующие шаги

1. Консоль администрирования 1С

К поднятому серверу можно подключиться через стандартную консоль управления серверами 1С. Кластер доступен по адресу сервера.

 
 Пример экрана

2. Приложение для базового управления

Можно подключиться к приложению управления по адресу http://<адрес сервера>:3000

- Упрощенное создание, удаление, импорт и экспорт информационных баз

- Открытие VNC консоли

 
 Пример экрана

3. VNC консоль

Можно подключиться к VNC консоли http://<адрес сервера>:6080/

 
 Пример экрана

Использование VNC целесообразно в отладочных целях, т.к. часто «отваливается», помогает перезагрузка контейнера 1c-server. Причины «падения» понятны, но настроить автоматический перезапуск VNC-сервера, без перезагрузки контейнера пока не удалось.

4. Локальная станция

Для корректно работы нужно прописать адрес сервера на DNS-сервере предприятия или в локально дописать в файл \Windows\System32\drivers\etc

<адрес сервера> srv.local

После создания информационной базы к ней можно подключаться любым способом: конфигуратор, клиент толстый/тонкий/web.

Установка лицензий 1С штатная через Клиента или Конфигуратор. Возможно использовать внешний сервер лицензирования.

Дополнение:

Если требуется изменить версии, порты, адреса, пароли, явки и т.д. или получить более детальную информацию нужно смотреть (изменять) в файлах архива. Затем пересобирать образы и пересоздавать контейнеры. Можно без пересоздания контейнеров (в т.ч. в живую) смотреть, изменить ряд данных в контейнерах, например логи, скрипты и т.д. Примонтированные разделы лежат в папке /var/lib/docker/volumes.

Возможно какие-то вопросы не отражены, с удовольствием отвечу на вопросы.

Прошу экспертов сильно не ругаться, сделано для личного пользования и возможно не сильно оптимально. У нас практически все сервера переведены на контейнеры, по аналогичной технологии.

Внимание !!!

Еще раз напомню, все описанное в статье нужно делать в тестовой среде! Крайне не рекомендую переносить на рабочий контур без модификации, полного понимания рисков и последствий.

UPD: добавлена информация про запуск в Astra Linux (Орел)

Архив - docker_Astra_1c_8_3_20.rar

OS - Astra Linux 2.12 

1c - 8.3.20.2039

DB - Postgres 9.6

Скачиваем с сайта 1с сервер и агент (при необходимости)

  • server64_8_3_20_2039.tar.gz -> /1c.8.3.20/server/
  • agentetp_1.0.34.51_all.deb -> /1c.8.3.20/agentetp/

В папке /1c.8.3.20 настраиваем под себя Dockerfile. В примере 3 секции - Агент ETP, Web-сервер, 1c-сервер. Если секция не нужна, то удаляем или комментируем.

Чуть подробней про файлы.

Папка /1c.8.3.20/server/:

  • logcfg.xml - настройка логов 1С во внешнюю папку и настройка типов событий
  • nethasp.ini - настройка если используется сервер лицензий 

Папка /1c.8.3.20/http/:

  • apache2.conf - конфигурация веб-сервера
  • http-services.conf - публикация баз 1с, добавляем по аналогии свои по необходимости
  • sites - папка для файлов публикации баз

Папка /1c.8.3.20/agentetp/:

  • conf.cfg - настройка агента
  • settings.xml - настройка агента
  • python.tar - python для запуска скриптов

Папка /base-astra/:

  • build-docker-image.sh - скрипт создания образа astra linux с официального сайта

Папка /:

  • build-images.sh - скрипт создания образов docker
  • docker-compose.yml - пример контейнеров, нужно изменить пути и т.д. под собственное окружение

Подготовка к запуску:

1. Распаковываем папку docker_Astra_1c_8_3_20.rar любым удобным способ на сервере, например /home/docker

2. Скачиваем файлы сервера и агента (при необходимости) с сайта 1с и копируем в /home/docker/1c.8.3.20/server/ и /home/docker/1c.8.3.20/agentetp/ (см.выше)

3. Проверяем пути и настройки в файлах (см.выше)

4. Запускаем сборку образов /home/docker/build-images.sh

5. Создаем папки для хранения данных, например в папке /mnt/data:

  • /mnt/data/1c-data - файлы базы данных postgres
  • /mnt/data/1c-server - файлы кластера
  • /mnt/data/ibfilestore - файлы для хранилища файлов (если используются тома)
  • /mnt/data/exchange - файлы для файлового обмена (если есть обмены между базами)
  • /mnt/data/backup - папка для сохранений (например сохранения делаются через Агента ETP)
  • /mnt/data/1c-log - папка с логами 1с
     

6. Запускаем контейнеры из папки /home/docker/ -> docker-compose up -d

7. Создание баз через консоль управления серверами (1CV8 Servers (x86-64).msc), (сервер БД - 1c-data, пользователь и пароль postgres)

8. Для подключения клиентов вносим имя хоста контейнера (srv0504.server - в примере из docker-compose.yml) в C:\Windows\System32\drivers\etc\hosts или в dns-сервер.

 

В целом все, если что-то не указал, напишите..

Вступайте в нашу телеграмм-группу Инфостарт

Docker Докер Astra Linux

См. также

DevOps и автоматизация разработки Тестирование QA Групповая разработка (Git, хранилище) Программист 1С:Предприятие 8 Бесплатно (free)

Четыре года в интеграторе я работал с git и EDT. Git после хранилища полюбил сразу: видно, кто и что менял. С EDT сложнее: тормозит, ошибки при обновлении ERP, автономный сервер внутри него работает только с файловой базой. На новой работе команда захотела перейти на git, я развернул EDT, и оно на второй день разрушило проект при загрузке расширения. Тогда я решил дать команде git с привычным Конфигуратором и инструмент, который за минуту доносит коммит до базы через ibcmd, вместо получасовой загрузки из файлов. На новой работе разрешили ИИ, и я написал это приложение с его помощью: от чтения документации и первого ТЗ до идей в электричке. Впервые за годы снова почувствовал себя творцом, а не закрывателем задач. По дороге приросли выгрузка, объединение и проверка конфигурации по коммитам, YAxUnit и режим MCP-сервера. В статье: схемы, скриншоты, грабли и честный список ограничений. Ссылки пока нет: хочу понять, нужно ли это кому-то, кроме меня.

03.09.2026    9592    KatanaDragon511    28    

37

DevOps и автоматизация разработки Программист Бесплатно (free)

Представьте, что вас попросили «сделай нам DevOps для 1С». С чего начинать? Часто за этой потребностью скрывается хаос в самом процессе разработки. Поэтому начинать нужно не с инструментов, не с серверов и не со скриптов, а с понимания того, что именно необходимо изменить. Предлагаем небольшой спасительный чек-лист, по которому можно относительно безболезненно запустить современные процессы управления разработкой 1С, даже когда у команды нет ничего, а изменения они присылают друг другу почтой и в мессенджерах. Вы получите структурированный пошаговый список задач, с которым не страшно окунаться в любой проект аудита разработки на 1С с целью навести там порядок.

31.08.2026    2421    Evil Beaver    2    

13

Нейросети DevOps и автоматизация разработки EDT Системный администратор Программист Руководитель проекта Стажер 1С 8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:ERP. Управление холдингом Абонемент ($m)

Почему ни утилита ring, ни ibcmd не способны «из коробки» собрать бинарный .cfe из исходников EDT без развертывания СУБД? Разработчики коммитят код в Git из 1C:EDT, но на серверы тестирования и в прод по-прежнему требуются бинарные контейнеры Конфигуратора. Ручные манипуляции с XML, локальные временные базы и забытый синтаксический контроль на каждой задаче сжигают часы рабочего времени. В статье разбираем архитектуру инструментов платформы и выстраиваем сквозной автоматический мост между EDT и Конфигуратором: - Анатомия сборки: почему ring только транслирует схему XML, а ibcmd жестко завязана на структуры СУБД; - Трансформация процессов: как освободить программиста от рутины, победить кодировки и Xvfb в Linux и сделать Git единственным источником правды; - Zero-dependency решение: скрипт edt-to-configurator.js, работающий и как консольный сборщик, и как Agent Skill для ИИ-ассистентов; - Ready-to-use CI/CD: готовые конфигурации для GitLab CI и GitHub Actions.

1 стартмани

31.08.2026    1097    Ninel_S    0    

1

DevOps и автоматизация разработки Нейросети Программист 1С 8.3 Россия Бесплатно (free)

Один агент на всё ломается в трёх местах: он не может проверить сам себя, расплывчатая задача даёт расплывчатый результат, а один контекст на всё переполняется — и первыми теряются ограничения. Разбираю разделение на три роли, обязательные поля спецификации, антипаттерны брифа и фиксированный список стоп-факторов на приёмке. Плюс честно о том, чего эта схема не даёт.

26.08.2026    882    YA_2159986692    2    

1

DevOps и автоматизация разработки Мониторинг Тестирование QA Программист 1С:Предприятие 8 Бесплатно (free)

Платформа 1С давно вышла за рамки учетных систем. Сегодня это полноценная среда для создания сложных, высоконагруженных и распределенных приложений. А значит, и стек технологий современного разработчика кардинально изменился. Систематизируем весь инструментарий, который превращает 1С-программиста в инженера: от EDT и Git до автотестов на YAxUnit, контейнеризации приложений в Docker, мониторинга в Prometheus и организации шины данных на Kafka. Разберемся, зачем каждый инструмент нужен, как он вписывается в жизненный цикл разработки и с чего начать его внедрение.

25.08.2026    19639    mrXoxot    52    

80

Linux DevOps и автоматизация разработки Программист 1С 8.3 Беларусь Россия Казахстан Бесплатно (free)

Разворачивание полноценной CI/CD инфраструктуры для 1С на Linux — это не просто дань моде, а жесткая необходимость для бизнеса, который не может позволить себе простои из-за ошибок человеческого фактора.

25.08.2026    1042    Ninel_S    0    

1

DevOps и автоматизация разработки Программист 1С 8.3 1С:Управление торговлей 11 Россия Бесплатно (free)

Полный цикл разработки расширения 1С в пакетном режиме DESIGNER: выгрузка, правка, гейт компиляции, применение к базе и контроль результата — без единого клика в конфигураторе. Разбираю семь мин, на которых подорвался лично: почему LoadConfigFromFiles возвращает нулевой код на битом модуле, зачем нужен Xvfb, как pgrep находит сам себя, кто держит базу и как отличить работающий сеанс от забытого, и почему после рестарта сервера база остаётся закрытой. Платформа 8.3.27, УТ 11.5, сервер на Linux.

24.08.2026    3345    YA_2159986692    7    

15
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Andry.Boris 59 27.01.21 00:16 Сейчас в теме
Спасибо, статья интересная.
Похоже на записки кулинара и книги рецептов.

Но не раскрыта роль начальных данных.

Исходные данные:
Виртуальный сервер RAM 8Gb HDD 40Gb Linux CentOS 7 x64
Что ставим:
Ubuntu 18.04 (Bionic)

Что к чему и для чего CentOS и Ubuntu?

Я навичок в этой теме. Просьба не ругать за офтопик.
2. user1543979 11.02.21 19:55 Сейчас в теме
(1)на убунте - доекер
на центосе - 1с
3. user1543979 11.02.21 20:03 Сейчас в теме
хотя стоп.
автор говорит про убунту , а выполняет команды "yum"

всё ок?
4. portwein 23.08.21 11:53 Сейчас в теме
(3) Ubuntu разворачивается в контейнере. Контейнер крутится в докере, докер установлен на Centos - поэтому yum!
5. пользователь 08.12.21 16:19
Сообщение было скрыто модератором.
...
6. None546674 06.06.22 16:44 Сейчас в теме
Есть у кого в продакшене это решение?
Хотел бы проконсультироваться
7. uasy_user611066 42 06.06.22 17:16 Сейчас в теме
(6) У нас работает, пишите, постараюсь помочь если получится.
8. None546674 07.06.22 12:50 Сейчас в теме
(7) Вообще интересует 3 вопроса
1) БД у вас в контейнере? Если да, то что по производительности? Не сталкивались с критичными багами?
2) Как организовано лицензирование? Это отдельный сервер лицензирования?
3) В целом сталкивались с каким-либо трудностями в начале и процессе эксплуатации?
9. uasy_user611066 42 07.06.22 13:51 Сейчас в теме
(8) 1. Производительность сильно зависит от железа, лучше всего перед промом провести нагрузочное тестирование или хотя-бы замеры по Гилеву. На тестовых серверах в офисе падение производительности составляло примерно на 10-15%. На сколько это критично, нужно оценивать индивидуально. Если критично, то СУБД можно вынести за контур докера или даже на другую машину.
2. Лицензии серверные программные, установлены стандартным образом в папку внутри контейнера. Клиентские, есть где-то аппаратные на отдельных машинах (виртуальных), есть где-то так-же программные на сервере лежат.
3. Проблемы были с соединением клиентов через закрытую сеть, заказчик делал предположения что виноват docker, но так-как основная масса работала штатно, но гипотезу сняли и рекомендовали заказчику привести подключение к ЗСПД к одному стандарту, а не как у кого получилось. Также были проблемы при установке на закрытую Астру ("Смоленск") из-за мандатного доступа, не оказалось специалистов у заказчика по ее администрированию, а нам не давали доступ из-за соображений безопасности. Что-то еще серъезного особо не припомню..

Общее впечатление пока хорошо. Самое главное не связаны руки со стороны "живой" системы, нужен минимальный доступ для администрирования контейнеров и нет необходимости разбираться с зависимостями разных библиотек. Сейчас внутри контейнера с 1С используется Ubuntu 18, готовим образ для перехода Астру. Из-за того что данные кластера и БД хранятся "снаружи" контейнеров, очень легко сохранять, переносить, пересоздавать и т.д. Также удобно масштабировать (создание контейнеров на другой машине или этой-же но с другим составом портов и включением в кластер). Неизбежна потеря производительности, но нужно искать компромиссы..
10. user1811975 09.07.22 15:28 Сейчас в теме
где взять ./build-images.sh?
11. uasy_user611066 42 25.07.22 08:52 Сейчас в теме
(10) Внутри присоединенного архива...
13. пользователь 26.07.22 23:23
Сообщение было скрыто модератором.
...
12. пользователь 26.07.22 23:21
Сообщение было скрыто модератором.
...
14. user1860333 17.10.22 11:45 Сейчас в теме
Здравствуйте , нужна информация по установке на Асра линукс Докера ,как можено ее получить? Заранее благодарю
15. uasy_user611066 42 17.10.22 14:00 Сейчас в теме
(14)
Добрый день. Добавил информацию о запуске и файл архива со скриптами.
16. user1905092 06.02.23 11:30 Сейчас в теме
У www.portainer.io/ весьма не гуманные расценки

по конфигам не плохо бы завернуть все в nginx, чтобы не светить внутренней сетью контейнера наружу
ну и в SSL обернуть
Для отправки сообщения требуется регистрация/авторизация