Каталог решений - Контейнер Docker для размещения публикации базы 1С на разных платформах

Контейнер Docker для размещения публикации базы 1С на разных платформах

Контейнер Docker для размещения публикации базы 1С на разных платформах

В наличии

Появилась необходимость развернуть на одном хосте две публикации базы, но не на одной платформе, а на разных. Тут я расскажу, как это сделать для версии 8.3.22.1704.

Категория:

Описание

Напишу сразу, с докером знаком 3 дня. Решил опубликовать, потому что пришлось повозиться с источником внизу(может, кому-то это поможет). Всем добра!

За основу взят https://github.com/pqr/docker-apache-1c-example/edit/master/README.md, переделан на более новую платформу и организована пакетная установка 1с и весь запуск сводится лишь в доставке файлов и конфигов в директорию на веб-сервере и запуске одной командой. Просто заменить название базы, название сервера и его IP, версии 1С во всех файлах, где это требуется (а их всего 4), ну и плюс не забываем скачать дистрибутив 1с.

 

Шаг 1 — подготовка рабочего места

 

Подробные инструкции по установке Docker: https://docs.docker.com/install/

На сервер будем ставить Docker CE (Community Edition), в частности для Debian инструкция здесь: https://docs.docker.com/install/linux/docker-ce/debian/

При установке на Linux не забудем про этот важный шаг, который описан на отдельной странице в документации: https://docs.docker.com/install/linux/linux-postinstall/

 

Шаг 2 — скачивание дистрибутива 1с.

 

Создадим директорию для нашего проекта и скачаем в неё дистрибутив 1С Сервер для Linux: https://releases.1c.ru -> Технологическая платформа 8.3 -> Cервер 1С:Предприятия (64-bit) для DEB-based Linux-систем

Скачается файл с расширением .tar.gz — переименуем его в deb64.tar.gz.

 

Шаг 3 — подготовка default.vrd.

 

Создадим файл с настройками подключения к 1С: default.vrd

Обратите внимание на строку подключения, замените имя сервера 1С (server_name) и имя информационной базы (base_name) на свои.

Если вы ранее уже публиковали свою базу на веб-сервере (не важно на каком: IIS или Apache, Windows или Linux, с помощью конфигуратор или с помощью webinst), у вас точно должен быть .vrd файл, поищите в публичных директориях веб-сервера и используйте его.

 

Шаг 4 — подготовка httpd.conf.

 

Самое интересное в конце файла. В строчке LoadModule прописать путь к файлу wsap24.so(изменится платформа 1с) В 1с Publication поменять путь к базе 1с.

 

Шаг 5 — подготовка Dockerfile.

 

Создадим файл с именем Dockerfile (без расширения) Тут ничего менять не надо, единственное можете указать свои директории для сохранения и распаковки дистрибутива 1с.

Шаг 6 — подготовка docker-compose.yml

 

Удобнее всего запускать контейнер на сервере с помощью утилиты docker-compose. Но для начала протестируем этот docker-compose опять же на локальной машине.

Устанавливаем docker-compose: https://docs.docker.com/compose/install/

Всё в той же директории проекта (где у нас уже есть Dockerfile, httpd.conf, и др.) создаём файл docker-compose.yml. Тут так же меняем имя сервера и его IP. Так же меняем порт на любой Ports: 8041(порт на локальной машине):80(порт контейнера), чтобы два апача не стучались в один порт. И запускаем контейнер с помощью команды:

docker compose up -d —build

Ссылка на гитхаб проекта https://github.com/PavelKav/docker-apache-1c

has been added to your cart:
Оформление заказа