Взаимодействие 1С со сторонними продуктами посредством REST и Golang (middleware). Часть 2 - Docker

18.06.21

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

В предыдущей статье мы создали микросервис, сейчас мы поместим его в Docker контейнер. Статья будет иметь практическую направленность в минималистичном стиле

Предыдущие и будущие статьи:

Я буду использовать Docker Desktop для Windows (учтите что на Home версию он не установится) переводим установленный Docker в режим Linux контейнеров. Используем иконку в системной трее

 

Крутые админы используют для настройки командную строку, но для визуализации структуры и простоты используем GUI Kitematic

Нажимаем кнопку New и добавляем по поиску интересующий нас контейнер например так

Для создания своего контейнера с митросервисом из статьи 1, нам нужен специализированный Dockerfile в котором будет прописаны настройки, а также софт-окружение который будет установлен в контейнер. Тут стоит заменить что контейнер это минимальная сборка ОС, на которую мы "доставляем" свой софт.

Содержимое Dockerfile

Коротко, берем образ с окружением среды разработки Go, скачиваем наш микросервис и зависимые пакеты, компилируем, запускаем, открываем порт 8181.  

Билдим контейнер, видно как выполняется поэтапно каждая инструкция Dockerfile (команды есть в исходниках на GitHub)

Запускаем контейнер, пробрасываем порт, указываем имя.

Контейнер появился в списке активных

 

Теперь микросервис доступен по порту 8181

К сожаление я не смог настроить взаимодействия контейнеров флагами в команде run при запуске контейнера (кто подскажет буду рад), но можно это сделать в GUI, чтобы микросервис видел другой контейнер с RabbitMQ

Остается опубликовать созданный контейнер в docker hub, заходим в учетную запись на сайте https://hub.docker.com/ создаем новый репозиторий

Задаем имя, подключаем к GitHub учетной записи, создаем

Запускаем построение контейнера в Docker Hub

Можно настроить автоматическую сборку контейнера например при изменениях в GitHub репозитории.

После публикации можно установить контейнер путем поиска в GitHub или командой docker run dmitrymsk777/connector_1c_enterprise

На данный момент Docker Hub не собирает корректно контейнер, так как система логирования в микросервисе написана под Windows, т.к разрабатываю я под Windows, но контейнер основан ли Unix-подобной ОС. На данный момент думаю как переделать скоро поправлю. Ранее публиковал более простой контейнер, схема рабочая.

Адрес исходников DockerFile на GitHub https://github.com/dmitry-msk777/Connector_1C_Enterprise

ОБНОВЛЕНИЕ:

Образ доступе в Docker Hub как на сайте так и в GUI Kitematic

ОБНОВЛЕНИЕ: 28.09.2020

Описанный в статье проект, который разворачивался находится в ветке "RabbitMQ+DockerFile"

В основном проекте появилось много других пакетов, загрузка которых не прописанна в Докерфайле, поэтому бутут проблемы с развертыванием.

ОБНОВЛЕНИЕ: 18.06.2021

Сейчас для управления докером в виде графического интерфейса пользуюсь Portainer 

Можно использовать для одиночно установленного докера, для докера в режиме Swarm и для Kubernetes

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

Golang RabbitMQ REST API middleware Docker DokerHub

См. также

Тестирование QA DevOps и автоматизация разработки Программист Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Налоговый учет Платные (руб)

Автотесты 1С - готовые тестовые сценарии, предназначенные для регресс-тестирования функционала конфигурации после обновления типовым релизом. Сценарии проверяют интерактивное заполнение форм документов, справочников и результат проведения документов. Сценарий – feature-файл, разработанный с помощью vanessa-automation. Запуск сценария выполняется интерактивно с помощью vanessa-automation или с помощью vanessa-runner в CI-системах. Доступно тестирование тонкого клиента. Поддерживаемые версии конфигураций 1С:Бухгалтерия предприятие 3.0 и версии КОРП: 3.0.190.11.

5368 руб.

20.01.2022    11205    48    1    

20

DevOps и автоматизация разработки Тестирование QA Программист Пользователь 1С:Предприятие 8 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)

Автотесты 1С - готовые тестовые сценарии, предназначенные для регресс-тестирования функционала конфигурации после обновления типовым релизом. Сценарии проверяют интерактивное заполнение форм документов, справочников и результат проведения документов. Сценарий – feature-файл, разработанный с помощью vanessa-automation. Запуск сценария выполняется интерактивно с помощью vanessa-automation или с помощью vanessa-runner в CI-системах. Доступно тестирование тонкого клиента. Поддерживаемые версии конфигураций 1С:Зарплата и Управление Персоналом 3 и версии КОРП: 3.1.35.48.

5000 руб.

05.08.2024    5480    36    1    

20

Тестирование QA DevOps и автоматизация разработки Программист 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х Россия Бухгалтерский учет Налоговый учет Платные (руб)

Готовые тестовые сценарии, предназначенные для регресс-тестирования функционала конфигурации после обновления типовым релизом. Сценарии проверяют интерактивное заполнение форм документов, справочников и результат проведения документов. Сценарии возможно использовать как для vanessa-automation, так и для СППР. Поддерживаемые версии конфигураций ERP2 и КА2: 2.5.22.145.

5000 руб.

04.07.2022    13075    50    1    

39

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

Если вы думаете, что внедрение CDC конвейера — это геморрой, то вы правы. Но мы уже прошли через все боли: от настройки MSSQL CDC до танцев с Kafka и ClickHouse. Теперь конвейер работает и данные ключевых операций в 1С, от которых зависит бизнес, попадают в ClickHouse, где их можно анализировать и использовать для мониторинга в реальном времени. В этой статье я расскажу, как выглядит архитектура и с какими проблемами можно столкнуться

05.03.2026    615    NesterTop1    4    

5

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

Разбираемся, почему ручной деплой в 1С все еще жив и сколько времени он на самом деле занимает, несмотря на стремительное развитие CI/CD-подходов. На реальном кейсе показываем, что корень проблемы чаще кроется не в автоматизации, а в ее неэффективной настройке. Событийная модель вместо расписаний, параллельные тесты, использование кеша Gitlab для оптимизаций и правильные настройки для управления репозиториями на раннерах радикально меняют скорость delivery. Объясняем, почему переход на Docker иногда замедляет процесс, как платформенные особенности 1С влияют на пайплайны и какие стратегии позволяют устранить узкие места. Материал будет полезен тем, кто хочет понять реальную стоимость ручного деплоя и сравнить ее с возможностями правильно настроенной автоматизации.

04.03.2026    673    konst1231    0    

4

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

Входные данные - конфигурация 1С в формате EDT, для системы контроля версий используется Git, две базы - рабочая и тестовая. Задача: коммит в ветку должен автоматически обновлять базу. Без ручного запуска конфигуратора, без «сохрани CF и скопируй на сервер». Инструмент - GitHub Actions + PowerShell-скрипты на сервере. Платформа 8.3.27.

27.02.2026    899    BiLBelarus    0    

4

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

В этой статье я расскажу, как настроить автоматическое обновление файлов поставки на Infostart сразу после создания релиза в GitHub. Больше не нужно вручную скачивать <code>.cfe</code> и загружать его через браузер

17.02.2026    509    Aleksandr    1    

6

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

Один репозиторий GitHub и одно расширение, которое нужно выпускать сразу для нескольких конфигураций 1С — звучит как «будут конфликты». В статье показываю рабочую схему: main как ядро, ветки; сборки под конфигурации, `git worktree`, чистая XML;выгрузка (без EDT артефактов) и автоматизация сборки `.cfe` через PowerShell + 1cv8 DESIGNER.

11.02.2026    2645    Aleksandr    2    

6
Для отправки сообщения требуется регистрация/авторизация