1С в docker. Десантирование инфраструктуры - 1C-RarusTechDay 2021

แชร์
ฝัง
  • เผยแพร่เมื่อ 11 ก.ย. 2024

ความคิดเห็น • 7

  • @leonidlisicin1451
    @leonidlisicin1451 3 ปีที่แล้ว +2

    Спасибо за Ваш доклад! На времени 13:16 Вы говорите что лицензии 1С можно прикрепить к хостовой операц.системе а для контейнеров пробросить путь до нее. Могли бы вы уточнить каким образом это делается? Ссылку на инструкцию или статью с конкретными действиями по настройке? Очень интересны варианты как по Linux так и под Windows.

    • @1c-rarus
      @1c-rarus  3 ปีที่แล้ว +1

      Леонид, Добрый день!
      1) Нужно пробросить C:\ProgramData\1C\licenses в контейнер, это задается в run скрипте или в docker-compose.
      2) Создать контейнер с 1С.
      3) Создать ИБ в контейнере.
      4) Зайти в ИБ, она потребует лицензию, тогда нужно ее активировать. Параметры оборудования будут взяты контейнером из хостовой системы.
      5) Активировать лицензию. Она станет доступна в C:\ProgramData\1C\licenses и в контейнере и в хостовой системе.
      6) при создании нового контейнера он обратится к лицензии на хостовой системе.
      Для линукс примерно та же схема.
      В линукс в контейнер можно пробросить usb с ключом. В Windows - нельзя.

    • @leonidlisicin1451
      @leonidlisicin1451 3 ปีที่แล้ว +1

      @@1c-rarus Спасибо! Правильно я понимаю: если на хосте установлен Linux и там запущено некоторое количество контейнеров то USB ключ можно пробросить одновременно во все контейнеры и таким образом получить это количество работающих сред разработки. Т.Е. при одновременном обращении к USB ключу всех контейнеров конфликта возникать не будет?

    • @1c-rarus
      @1c-rarus  3 ปีที่แล้ว +1

      @@leonidlisicin1451 Леонид, добрый день!
      1) С помощью ключа --device можно опубликовать интерфейс оборудования в контейнере. При этом он не блокируется на монопольное использование.
      1.1) docker run -t -i --device=/dev/ttyUSB0 ubuntu bash
      1.2) docker-compose
      devices:
      # здесь пробрасываем usb порт, к которому подключен принтер
      - /dev/ttyUSB0:/dev/ttyUSB0

  • @evolution4283
    @evolution4283 ปีที่แล้ว

    А где статья со скриптами?

  • @tumenit
    @tumenit 3 ปีที่แล้ว +1

    А как же ENTRYPOINT?

    • @1c-rarus
      @1c-rarus  3 ปีที่แล้ว +1

      Сергей, добрый день!
      В самом общем случае ENTRYPOINT является аналогом CMD, и в рамках данной публикации было бы методологически не верным использовать их оба. Различия в порядке использования ENTRYPOINT и CMD на столько тонки, и требуют такое погружения в технологию конкретизации, что рассказ о них тянет на отдельное выступление. К тому же, есть методологическое различие в использование ENTRYPOINT и CMD на Linux и на Windows, о которых тоже нужно было тогда упомянуть. Дело в том, что в linux контейнере есть понятие процесса PID 1 в рамках которого идет исполнение кода запуска контейнера, чего не скажешь о Windows. Поэтому опустили ENTRYPOINT в описании общих команд и оставили одну конструкцию CMD. Думаю, эти различия будут оговорены в статье.
      Вот интересная статья, которая рассказывает, что все не так просто: habr.com/ru/company/southbridge/blog/329138/.