суббота, 24 ноября 2018 г.

Docker 1С сервер в контейнере ubuntu 14.04

За основу возьмем
Но но используем свой fork
$ cd cd ~/
$ git clone https://github.com/renbuar/1c_server.git
$ cd ~/1c_server/8.3.14-1373
$ cp ~/test/1c-enterprise83-common_8.3.14-1373_amd64.deb ~/1c_server/8.3.14-1373
$ cp ~/test/1c-enterprise83-server_8.3.14-1373_amd64.deb ~/1c_server/8.3.14-1373
$ docker build --tag 1c-server .
Запуск с --net=host разово:
$ docker run -d --name 1c-server --rm --net=host 1c-server:latest


При каждом создании контейнера нужно пересоздавать  базу.
Что бы не не пересоздавать можно так:

$ docker run -d --name 1c-server --net=host 1c-server:latest
Затем создав базу останавливать  :

$ docker stop 1c-server

При необходимости запускать сноваа:

$ docker start 1c-server

При необходимости запустить несколько контейнеров (порты должны быть разные)


Например:
Есть host имя u1604
ip 192.168.1.238
на host docker и PostgrSQL
1c в контенейре
$ docker run -ti -h u1604 --name 1c-server --rm -p 1540:1540 -p 1541:1541 -p 1560-1591:1560-1591 1c-server:latest


поскольку оба хоста имеют одно имя Сервер баз данных задаем по ip

У второго контейнера должно отличаться имя и порты

Ниже точно не правильно сервер знает что он на порту 1541 и пойдет обращение  на другой сервер, если он включен.

$ docker run -d -h u1604 --name 1c-server-1 --rm -p 2540:1540 -p 2541:1541 -p 2560-2591:1560-1591 1c-server:latest


Нужно построить контейнер с другим портами и запустить так:

$ docker run -d -h u1604 --name 1c-server-1 --rm -p 2540:2540 -p 2541:2541 -p 2560-2591:2560-2591 1c-server:latest

При создании базы в поле Кластер серверов указать u1604:2541


docker volume create --name 1c-server

-v 1c-server:/home/usr1cv8 или --mount source=1c-server,target=/home/usr1cv8


Окончательно:

$ docker run -d -h u1604 --name 1c-server-1 --rm -p 2540:1540 -p 2541:1541 -p 2560-2591:1560-1591 -v 1c-server:/home/usr1cv8 1c-server:latest

Комментариев нет:

Отправить комментарий