Запуск Apache 2.4 с модулем 1С внутри Docker контейнера
-
Установите Docker (https://docs.docker.com/install/) и docker-compose (https://docs.docker.com/compose/install/)
-
При установке Docker на Linux не забудьте про ещё один важный шаг: https://docs.docker.com/install/linux/linux-postinstall/
-
Скачайте дистрибутив 1С сервера для Linux в текущую директорию: https://releases.1c.ru -> Технологическая платформа 8.3 -> Cервер 1С:Предприятия (64-bit) для DEB-based Linux-систем - должен получиться файл
deb64.tar.gz
-
Проверьте настройки подключения к информационной базе на сервере 1С в файле
default.vrd
(в этом репозитории) -
Проверьте и поправьте имя информационной базы в файле
httpd.conf
в самом конце (в этом репозитории), по умолчанию там используется BuhBase. На самом деле этот шаг не обязателен, путь на веб-сервере может быть любым, но для консистентности удобно, когда он совпадает с именем информационной базы -
Если поменяли директорию BuhBase в настройках веб-сервера (в
httpd.conf
) на какую-то свою, то не забудьте обновить иDockerfile
(в этом репозитории), там где происходит копированиеdefault.vrd
в директорию BuhBase -
Проверьте в файле
docker-compose.yml
(в этом репозитории) маппинг портов из хост системы внутрь контейнера (по умолчанию стоитports: 80:80
, но если на хост машине порт 80 уже занят, можно поменять на что-то другое, например,ports: 8000:80
) и настройте привязку имени хоста где запущен 1С сервер к его IP адресу (параметрextra_hosts
) -
Запустите командой
docker-compose up -d --build
Теперь можно проверить в бразуре: http://<ip адрес linux хоста>/BuhBase/
или http://<ip адрес linux хоста>:<порт на linux хосте как в docker-compose.yml>/<путь указанный в httpd.conf>/
При обновлении версии платформы 1C:
-
Скачать новый дистрибутив (
deb64.tar.gz
) в директорию проекта -
Если был мажерный переход с 8.3 на 8.4, то, возможно, придётся поправить путь к
wsap24.so
вhttpd.conf
-
Находясь в директории проекта остановить контейнер:
docker-compose down
-
Пересобрать образ и запустить новый контейнер:
docker-compose up -d --build
Если нужно добавить несколько информационных баз:
-
Понадобится несколько .vrd файлов - каждую базу свой .vrd
-
Добавить инструкции по их копированию внутрь контейнера в
Dockerfile
-
Описать пути для веб-сервера в
httpd.conf
: на каждую базу свой путь, своя директория, своя ссылка на соответсвующий .vrd -
Находясь в директории проекта остановить контейнер:
docker-compose down
-
Пересобрать образ и запустить новый контейнер:
docker-compose up -d --build
Этот репозиторий является примером к статье с подробными пошаговыми инструкциями: https://infostart.ru/public/810851/