Проброс программных лицензий в docker-контейнер
Данные > Статьи и инструкции > Практика
ПРАКТИКА 1С 8 → перейти в меню [СТАТЬИ И ИНСТРУКЦИИ]
//DevOps в 1C
Сразу скажу, что здесь есть риски, т.к. программные лицензии при активации привязываются к железу. И гарантировать работу программных лицензий внутри контейнера я не возьмусь. Но в моей практике лицензии не "протухают" и работают нормально.
1️⃣ Создайте файл Dockerfile со следующим содержимым:
FROM <base-image>
RUN mkdir -p /var/1C/licenses/
VOLUME /var/1C/licenses/
EXPOSE 5900
Замените <base-image> на имя базового образа, который вы хотите использовать. Там должен быть установлены 1с и VNC(За основу можно взять образы первого бита)
2️⃣Соберите Docker-образ, выполнив команду:
docker build -t <your-image-name> .
Замените <your-image-name> на имя, которое вы хотите присвоить вашему образу.
3️⃣Скачайте VNC Viewer с официального сайта. Можно выбрать Standalone версию, чтобы избежать установки.(так же можно воспользоваться любым другим VNC клиентом)
4️⃣Запустите контейнер, выполнив команду:
docker run -d -p <host-port>:5900 -v /path/to/licenses:/var/1C/licenses/ <your-image-name>
можно запустить контейнер любым другим способом
5️⃣Подключитесь к контейнеру по VNC, указав <your-host-address>:<host-port>.
6️⃣Активируйте лицензию в пользовательском режиме. Она сохранится в ваш Volume
7️⃣Убедитесь, что лицензия активировалась и информация о ней появилась в примонтированной папке.
Вот и все, можете пользоваться программной лицензией активированной в docker.
Пара ограничений:
❗️Если у вас Swarm - необходимо активировать лицензию на каждый воркер. И при старте контейнера монтировать локальный вольюм конкретного воркера.
0
комментарии
____________________
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник