• Главная
  • Курсы
  • События
  • Блог
  • Контакты
  • Магазин
    • Загрузки
  • Партнерка
  • Обо мне
Есть вопросы? Звоните:
+7 (917) 449 09 97
admin@nizamov.school
РегистрацияВход
nizamov.school
  • Главная
  • Курсы
  • События
  • Блог
  • Контакты
  • Магазин
    • Загрузки
  • Партнерка
  • Обо мне
  • Главная
  • Блог
  • Blog
  • УСТАНОВКА СЕРВЕРА ВЗАИМОДЕЙСТВИЯ 1С В DOCKER. ЧАСТЬ 1

УСТАНОВКА СЕРВЕРА ВЗАИМОДЕЙСТВИЯ 1С В DOCKER. ЧАСТЬ 1

  • Опубликовано Илья Низамов
  • Разделы Blog
  • Дата 20.12.2020
  • Комментарии 2 комментария
сервер взаимодействия 1с docker

Подписывайтесь в соц сетях. Там провожу конкурсы и публикую еще больше контента.

Vk Youtube Telegram Instagram Facebook Twitter

Привет программисты 1С, с вами Низамов Илья. Сегодня я покажу, как установить сервер взаимодействия 1с в docker. Напишем конфиг dockerfile для сборки сервера взаимодействия 1С. Напишем конфиг docker compose для запуска нескольких сервисов.

В этой части мы вынесем в отдельный контейнер только PostgreSQL, а сервер взаимодействия 1С, вместе с elasticsearch и hazelcast будут работать в одном контейнере.

Запишись на тренинг

НАУЧИСЬ РАЗРАБАТЫВАТЬ МИКРОСЕРВИСЫ НА PYTHON ДЛЯ 1С ЗА 5 ЧАСОВ
ПОДРОБНЕЕ

Структура папок и файлов для сборки сервера взаимодействия 1с в docker

Скачать архив проекта (сервер взаимодействия 1С docker)

Создаем папку нашего проекта sv. Внутри ее создаем папки db, srv

В папке db создать sql файл init-cs-db.sql

\c cs_db
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
\q

В папку srv скопировать файлы deb сервера взаимодействия.
Так же разместить там отредактированный скрипт ring

Создать в папке srv 2 скрипта

init.sh

#!/bin/bash
set -e

sudo useradd cs_user
sudo mkdir -p /var/cs/cs_instance
sudo chown cs_user:cs_user /var/cs/cs_instance
sudo /opt/1C/1CE/x86_64/ring/ring cs instance create --dir /var/cs/cs_instance --owner cs_user
sudo /opt/1C/1CE/x86_64/ring/ring cs --instance cs_instance service create --username cs_user --java-home $JAVA_HOME --stopped

sudo useradd hc_user
sudo mkdir -p /var/cs/hc_instance
sudo chown hc_user:hc_user /var/cs/hc_instance
sudo /opt/1C/1CE/x86_64/ring/ring hazelcast instance create --dir /var/cs/hc_instance --owner hc_user
sudo /opt/1C/1CE/x86_64/ring/ring hazelcast --instance hc_instance service create --username hc_user --java-home $JAVA_HOME --stopped

sudo useradd elastic_user
sudo mkdir -p /var/cs/elastic_instance
sudo chown elastic_user:elastic_user /var/cs/elastic_instance
sudo /opt/1C/1CE/x86_64/ring/ring elasticsearch instance create --dir /var/cs/elastic_instance --owner elastic_user
sudo /opt/1C/1CE/x86_64/ring/ring elasticsearch --instance elastic_instance service create --username elastic_user --java-home $JAVA_HOME --stopped

sudo /opt/1C/1CE/x86_64/ring/ring cs --instance cs_instance jdbc set-params --url jdbc:postgresql://db:5432/cs_db?currentSchema=public
sudo /opt/1C/1CE/x86_64/ring/ring cs --instance cs_instance jdbc set-params --username postgres
sudo /opt/1C/1CE/x86_64/ring/ring cs --instance cs_instance jdbc set-params --password postgres
sudo /opt/1C/1CE/x86_64/ring/ring cs --instance cs_instance jdbc-privileged set-params --url jdbc:postgresql://db:5432/cs_db?currentSchema=public
sudo /opt/1C/1CE/x86_64/ring/ring cs --instance cs_instance jdbc-privileged set-params --username postgres
sudo /opt/1C/1CE/x86_64/ring/ring cs --instance cs_instance jdbc-privileged set-params --password postgres

sudo /opt/1C/1CE/x86_64/ring/ring cs --instance cs_instance websocket set-params --hostname cs
sudo /opt/1C/1CE/x86_64/ring/ring cs --instance cs_instance websocket set-params --port 8087

start.sh

#!/bin/bash
set -e

sudo /opt/1C/1CE/x86_64/ring/ring hazelcast --instance hc_instance service restart
sudo /opt/1C/1CE/x86_64/ring/ring elasticsearch --instance elastic_instance service restart
sudo /opt/1C/1CE/x86_64/ring/ring cs --instance cs_instance service restart

echo "ALL START"
sh

Создаем Dockerfile для образа сервера взаимодействия 1С

В папке srv создать файл Dockerfile

FROM ubuntu:21.04

RUN apt-get update && apt-get -y install sudo curl nano openjdk-8-jdk mc && rm -rf /var/lib/apt/lists/*

ENV JAVA_HOME /usr/lib/jvm/java-1.8.0-openjdk-amd64

WORKDIR /app

COPY . .

RUN sudo dpkg -i *.deb && rm -rf *.deb

COPY ring /opt/1C/1CE/x86_64/ring/

RUN chmod 777 *.sh && ./init.sh

В корне проекта создать docker-compose.yml

version: "3.8"

services:
cs:
build: ./srv
stdin_open: true
tty: true
command: ./start.sh
restart: unless-stopped
ports:
- "8087:8087"
depends_on:
- db
db:
image: postgres:12-alpine
restart: always
environment:
- POSTGRES_DB=cs_db
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
ports:
- "5432:5432"
volumes:
- ./storage/postgres-data:/var/lib/postgresql/data
- ./db/init-cs-db.sql:/docker-entrypoint-initdb.d/init-cs-db.sql

Сборка сервера взаимодействия 1С в docker

docker-compose build 
docker-compose up

Подключаемся к запущенному контейнеру

docker exec -it sv_cs_1 sh

Первый раз выполняем команды инициализации базы данных и проверяем, что все поднялось.

sudo curl -Sf -X POST -H "Content-Type: application/json" -d "{ \"url\" : \"jdbc:postgresql://db:5432/cs_db\", \"username\" : \"postgres\", \"password\" : \"postgres\", \"enabled\" : true }" -u admin:admin http://localhost:8087/admin/bucket_server


sudo curl http://localhost:8087/rs/health
author avatar
Илья Низамов

Предыдущая запись

УСТАНОВКА СЕРВЕРА ВЗАИМОДЕЙСТВИЯ 1С НА UBUNTU SERVER 20.04
20.12.2020

Следующая запись

1С KAFKA. НЕ ПИШИТЕ СВОЙ REST СЕРВИС ДЛЯ КАФКИ НА ПИТОНЕ.
07.01.2021

Вам также может понравиться

gigachat
GIGACHAT ИЛИ CHATGPT ИИ МЕНЕДЖЕР ДЛЯ 1С
15 мая, 2024
gigachat ии менеджер
ИИ МЕНЕДЖЕР НА БАЗЕ GIGACHAT
12 февраля, 2024
chatgpt антиспам
ChatGPT Антиспам. Часть 1
5 февраля, 2024

    2 Комментария

  1. upiterusnn
    10.02.2021
    Ответить

    Прерывает билд под убунту 18 и 20
    Step 8/8 : RUN chmod 777 *.sh && ./init.sh
    —> Running in cb1555872a6c
    sudo: /opt/1C/1CE/x86_64/ring/ring: command not found
    ERROR: Service ‘cs’ failed to build: The command ‘/bin/sh -c chmod 777 *.sh && ./init.sh’ returned a non-zero code: 1

    • Алексей
      10.11.2022
      Ответить

      скорее всего вы ставите более новую версию сервера, думаю правильный путь /opt/1C/1CE/components/1c-enterprise-ring-0.19.5+12-x86_64/

Оставьте ответ Отменить ответ

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

Поиск

Рубрики

  • Blog

Ссылки

  • Политика конфиденциальности
  • Публичная оферта

Сайт создан в NIZAMOV.studio

Регистрация с помощью:

Войти Vkontakte

Вход через логин и пароль

Забыли пароль?

Нет аккаунта? Регистрируйся прямо сейчас

Register a new account

Are you a member? Login now