Перейти к содержимому
Главная страница » Запуск 1С в Docker

Запуск 1С в Docker

Для запуска Docker контейнера с 1С, необходимо сначала подготовить Docker образ. Казалось бы почему не использовать готовый образ 1С, например подготовленный кем-то и загруженный на Dockerhub?

Дело в том, что распространение 1С запрещено. Не смотря на выпуск комьюнити лицензии, компания 1С, отказывается менять свою устаревшую политику распространения технологической платформы 1С.

Загрузка дистрибутива 1С

Получается, что Docker образ с платформой 1С на борту запрещено распространять в открытых источниках, а значит начнем с загрузки дистрибутива с сайта https://releases.1c.ru/

Я решил использовать бета версию платформы 8.5, чтобы за одно и протестировать ее, к тому же это самый обсуждаемый релиз в сети.

Скачиваем дистрибутив deb64_8_5_1_189.zip

Ждем пока загрузится дистрибутив.

После загрузки переименуем его в deb64.zip.

Создание Dockerfile

Для того, чтобы собрать Docker образ, создадим dockerfile с инструкциями к действию. В качестве базового образа будем использовать стандартный образ httpd:2.4.

FROM httpd:2.4
# Данный образ базируется на стандартном образе Debian+Apache 2.4: https://store.docker.com/images/httpd

# Копируем дистрибутив в директорию dist
COPY deb64.zip /dist/deb64.zip

# Разархивируем дистрибутив
RUN apt-get update && apt-get install -y \
    unzip && \
    unzip /dist/deb64.zip -d /dist \
     && dpkg -i /dist/*.deb \
  && rm /dist/*.deb
  
# Копируем внутрь контейнера заранее подготовленный конфиг от Apache
COPY httpd.conf /usr/local/apache2/conf/httpd.conf

# Копируем внутрь контейнера заранее подготовленный конфиг с настройками подключения к серверу 1С
COPY default.vrd /usr/local/apache2/htdocs/BuhBase/default.vrd

Я работаю в Windows и создавать образ буду в Windows, шаги одинаковы в любой системе. Создадим каталог для нашего проекта:

В моем случае это каталог C:\docker\docker1c

Все файлы проекта можно скачать с github.

Откроем командную строку или powershell, перейдем в рабочую директорию

cd C:\docker\docker1c

Теперь выполним команду для сборки образа:

 docker build -t apache-1c .

В результате получим собранный образ apache-1c

Проверим в Docker Desktop, что наш образ появился.

Теперь выполним запуск образа командой:

docker run --add-host Serv1C:192.168.1.15 --publish 80:80 apache-1c

Видим, что контейнер запущен:

Пробуем открыть страницу:

http://localhost/BuhBase/

И видим, что сервер 1С запущен, но не находит базу 1С.

Следующим шагом запустим еще один контейнер с СУБД, скорее всего я остановлюсь на postgresql и создадим соответствующую базу 1С.

Ссылки

docker-apache-1c-example

Запуск Apache 2.4 с модулем 1С внутри Docker контейнера

Docker для 1Сника

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *