Sign inSign up

elaks/apache-1c

By elaks

•Updated over 1 year ago

Контейнер для публикации базы веб-интерфейса 1С на основе веб-сервера Apache 2.4

Image
0

3.7K

elaks/apache-1c repository overview

⁠Запуск

⁠Через скрипт "run.sh"

#!/bin/sh

#Параметры запуска сервиса

NAME_SERVICE=apache-buh
PORT_SERVICE=8880
NETWORK=dockernet \

#Параметры для подключения к 1с

BASE1C_NAME= Buh
APPSERVER1C_NAME= server1c.production # <-- Можно указывать также порт сервера и два сервера в кластере. Например: ":1541"; ","
VERSION1C=8.3.15.1656 \

#Команда запуска контейнера

docker run --detach
--name $NAME_SERVICE
--hostname $NAME_SERVICE
--restart always
--network $NETWORK
-e BASE1C_NAME=$BASE1C_NAME
-e APPSERVER1C_NAME=$APPSERVER1C_NAME
-e HTTP_PATH_DISTRIB=""
-p $PORT_SERVICE:80
elaks/apache-1c:$VERSION1C

⁠Dockerfile

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

MAINTAINER elaks [email protected]⁠

#Параметр для указания версии при сборке (пример: "docker build --build-arg build_version1c=8.3.15.1656 -t elaks/apache-1c:8.3.15.1656 .") #Указано значение по умолчанию

ARG build_version1c
ARG path_distr="http://distrib.hshl.ru/platform1c/$build_version1c/deb64.tar.gz⁠" \

RUN apt-get update -y &&
apt-get install -y curl dos2unix net-tools iputils-ping &&
apt-get autoremove --purge -y &&
apt-get clean &&
rm -rf /var/lib/apt/lists/* #RUN apt-get -y install curl

⁠Разархивируем дистрибутив

RUN mkdir /dist/ && curl $path_distr -o /dist/deb64.tar.gz
&& tar -xzf /dist/deb64.tar.gz -C /dist \

⁠и устанавливаем пакеты 1С в систему внутри контейнера

&& dpkg -i /dist/common_.deb
&& dpkg -i /dist/server_.deb
&& dpkg -i /dist/ws_.deb \

⁠удаляем исходные deb файлы дистрибутива, которые нам уже не нужны

&& rm -rf /dist

⁠Копируем внутрь контейнера заранее подготовленный конфиг от Apache

COPY ./conf/httpd.conf /usr/local/apache2/conf/httpd.conf

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

COPY ./conf/default.vrd /tmp/default.vrd

⁠Копируем внутрь контейнера, подготовленный скрипт инициализации

COPY ./conf/script.sh /tmp/script.sh

⁠Настриваем права на запуск скрипта

RUN chmod +x /tmp/script.sh

⁠Делаем обработку скрипта для запуска в unix- среде (убираем спец символы dos) / dos2unix

RUN sed -i 's/\r$//' /tmp/script.sh

⁠Определяем старшую версию 1с и устанавливаем в качестве части пути к библиотеке wsap24.so

RUN majorversion=echo $build_version1c|awk 'BEGIN {FS="."}{print $1"."$2}'
&& sed -i.bak "s|!MAJORVERSION1C!|${majorversion}|g" /usr/local/apache2/conf/httpd.conf

⁠Запускаем скрипт инициализации

CMD ["/tmp/script.sh"]

Tag summary

Content type

Image

Digest

sha256:c84c64271…

Size

1.4 GB

Last updated

over 1 year ago

docker pull elaks/apache-1c:8.3.25.1520