Создаем Docker-контейнер с 1C-клиентом для Linux

19.09.16

База данных - Инструменты администратора БД

Создаем Docker-контейнер для Linux-версии 1C. Например, чтобы беспрепятственно использовать его на любом Linux дистрибутиве и не держать при этом "дремучих" версий библиотек в системе.

Наверняка каждый из вас, кто использовал 1С клиент на linux, особенно отличном от ubuntu/debian/redhat/centos сталкивался с ворохом проблем (от версии ImageMagic и "странного", если не сказать грубее, использования библиотек до всевозможных "блуждающих глюков", при использовании библиотек, новее, чем доисторические). В статье предлагается один из вариантов решения этих проблем, с использованием Docker. (https://ru.wikipedia.org/wiki/Docker)

Полученный в результате Docker-контейнер построен на базе ubuntu 14.04, включает mscorefonts ( набор стандартных шрифтов от MS; лицензия отличается от LGPL, текст лицензии внутри архива mscorefonts.zip), патчи infinality (для "правильного" рендеринга шрифтов), шрифт Fira Code (хороший, моноширный шрифт для кода)

В репозиторий добавлена light-версия Dockerfile (без тем, шрифтов, infinality, только mscorefonts), находится в директории light.

Прежде всего устанавливаем Docker, например для Arch Linux:

pacman -S docker
gpasswd -a <username> docker
systemctl enable docker
systemctl start docker

Клонируем репозиторий со скриптами, и открываем Dockerfile для настройки:

git clone https://github.com/psyriccio/dck1c.git
cd dck1c
# cd ./light # если нужно взять за основу light-версию
nano ./Dockerfile

Можно избавиться от этих строк (это темы оформления, чтобы докер-приложение смотрелось как родное в системе, можно заменить на свои, распаковываются в /usr/share/themes и /usr/share/icons соответственно):

&& unzip /opt/zukitwo-themes.zip -d /usr/share/themes \ 
&& unzip /opt/yltra-icons.zip -d /usr/share/icons \ 
&& unzip /opt/ultraflat-icons.zip -d /usr/share/icons \ 

В следующих строках указываем версию и архитектуру платформы и кодировку:

ENV PLT_VERSION 8.3.7-1873 
ENV PLT_ARCH amd64 
ENV LANG ru_RU.utf8 

Размещаем в директории ./distr официальные deb-пакеты, соответствующих версий и архитектуры (нужны server, common и client). Запускаем сборку контейнера коммандой:

docker build -t psyriccio/dck1c .

Сборка займет какое-то время. После сборки можем запускать контейнер скриптом ./run.sh или коммандой вида:

docker run -t --rm -e DISPLAY -v $HOME/.Xauthority:/home/user/.Xauthority -v $HOME:/home/user -v /mnt:/mnt --net=host --pid=host --ipc=host psyriccio/dck1c

docker linux

См. также

Автоподбор ролей для профилей и групп доступа в любых типовых базах 1С УТ 11, КА 2, ERP2, Розница 2/3, УНФ 16/3, БП 3, ЗУП 3 и подобных (УФ, Платформа 8.3.14+)

Инструменты администратора БД Роли и права 8.3.14 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 15.12.2023, версия 1.1.

12000 руб.

06.12.2023    2760    11    1    

30

Infostart УДиФ: Управление данными и формами

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

10000 руб.

10.11.2023    3249    10    1    

31

SALE! 30%

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

3600 2520 руб.

14.01.2013    177342    1070    0    

846

Автотесты для типовых конфигураций ERP Управление предприятием 2 и Комплексная автоматизация 2 (для vanessa automation)

Тестирование QA DevOps и автоматизация разработки Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х Россия Бухгалтерский учет Налоговый учет Платные (руб)

Готовые тестовые сценарии, предназначенные для регресс-тестирования функционала конфигурации после обновления типовым релизом. Сценарии проверяют интерактивное заполнение форм документов, справочников и результат проведения документов. Сценарии возможно использовать как для vanessa-automation, так и для СППР. Поддерживаемые версии конфигураций ERP2 и КА2: 2.5.15.111.

2220 руб.

04.07.2022    6640    21    0    

22

Системы контроля версий для 1С-разработчиков.

1С-программирование DevOps и автоматизация разработки Групповая разработка (Git, хранилище) DevOps для 1С Платформа 1С v8.3 Платные (руб)

Основы командной разработки на 1С. Использование систем контроля версий при разработке на платформе 1С:Предприятие 8

4900 руб.

29.06.2022    8995    78    4    

107

Ускоренное проведение документов (x4), устранение ошибок 60/62 счетов и зачет авансов (Бухгалтерия 3.0)

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    27164    78    146    

59

"Менеджер потоков 2.1": УПП: "Восстановление партий"

Инструменты администратора БД Платформа 1С v8.3 1С:Управление производственным предприятием Россия Бухгалтерский учет Управленческий учет Платные (руб)

Как оптимизировать то, что, считалось, не поддается оптимизации? Как повысить доступность базы данных? Как проводить самую «времяемкую» операцию не по паре раз в неделю, а по несколько раз в день*? Ответ есть!

20000 руб.

12.09.2019    11706    5    9    

7

Брандмауэр для сервера 1С Предприятие 8 - внешнее управление сеансами

Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Управление возможностью начала и возобновления сеансов пользователей по различным условиям, ограничение общего числа возможных сеансов для работы с информационной базой, резервирование возможности работы с информационной базой определенных польззователей, запрет запуска нескольких сеансов для пользователя, журнализация событий начала (возобновления) и завершения (гибернации) сеансов, ведение списка активных сеансов для информационных баз кластера серверов

3600 руб.

06.02.2017    31041    31    18    

47
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. pumbaE 14.09.16 09:19 Сейчас в теме
а если еще добавить туда установку mono и oscript плюс https://github.com/oscript-library/deployka и получаем удобный обновлятор из хранилища серверной базы, с блокировкой пользователей, с завершением сессий и т.д. и т.п.
pallid; Berckk; sorb; artbear; JohnyDeath; b00t; hawk911; Pr-Mex; +8 Ответить
2. b00t 83 14.09.16 11:02 Сейчас в теме
(1) pumbaE, хорошая, кстати, идея.
На досуге добавлю, спасибо за мысль правильную.

Проект открытый, лицензия LGPLv3, так что можно смело добавлять и другие "необходимости", форкнув репозиторий или же прислав мне pull-request.
3. artbear 1447 14.09.16 12:10 Сейчас в теме
А доступ к лицензиям как организован?
4. pumbaE 14.09.16 12:32 Сейчас в теме
(3) artbear, человек пробрасывает все в контейнер, поэтому если ключ есть он определяется, если hasp сетевой то тоже лицензия найдется. Хотя можно и просто пробросить сокет хаспа /tmp/=askusb (как то так, по памяти) и ключ автоматом локальный определится, без проброса сети.
8. b00t 83 14.09.16 13:22 Сейчас в теме
(4) pumbaE, всё верно, с ключами проблем не должно быть, тестировал на сетевом, локальный можно пробросить примерно как вы и описали
6. b00t 83 14.09.16 13:13 Сейчас в теме
(3) artbear, всё верно уже за меня ответили, расскажу чуть подробнее. Если контейнер запускается с аргументом --net=host, то он "видит" сеть, от лица хост-системы, т.е. если хосту доступен сетевой ключ -- его увидит и 1С в контейнере.
Или можно пробросить файл-сокет локального ключа, используя аргумент -v <что-то снаружи>:<что-то внутри>.
Контейнер собирается из deb-пакетов 1С-клиента, которые вы ему положите в директорию ./distr, предполагается, что вы положили туда официальные, лицензионные пакеты и у вас есть право на их использование. В целом я использую этот контейнер с обычным сетевым ключом, который отлично видится внутри контейнера. С пробросом локальных ключей тоже не должно быть проблем, у меня нет под рукой ключа, проверить не могу, но в принципе могу проконсультировать в какую сторону копать, если у кого-то не заработает.
5. herfis 496 14.09.16 13:08 Сейчас в теме
git clone git@github.com:psyriccio/docker1c.git

пишет

Клонирование в «docker1c»…
Permission denied (publickey).
fatal: Could not read from remote repository

Ежели чо - ногами не пинать. Я в ентом деле не настоящий сварщик.
7. b00t 83 14.09.16 13:17 Сейчас в теме
(5) herfis, попробуйте
git clone https://github.com/psyriccio/docker1c.git

у вас git пытается авторизоваться по какому-то ключу, который естественно авторизован быть не может
исправлю сейчас в тексте, это моя оплошность, лучше по https забирать
9. herfis 496 14.09.16 13:23 Сейчас в теме
(7) Есть контакт, спасибо.
10. skif47 350 14.09.16 14:44 Сейчас в теме
Плюсую.
А еще можно через docker-compose поднять сразу целый стек контейнеров с postgresql, apache и еще какой-нибудь приблудой рядом ))
https://github.com/volodkindv/environment/tree/ver2
11. b00t 83 14.09.16 15:09 Сейчас в теме
(10) skif47, отлично, веб-сервисы 1С-ные вообще вне контейнера использовать на таком старом apache, как минимум не безопасно. Неплохая среда для разработки/тестирования вырисовывается, что-то поломалось -- удаляем контейнер и разворачиваем новый. В моем контейнере есть 1С-сервер (зачем-то прописан в зависимостях у пакета client), вообщем-то ничего не мешает стартануть этот контейнер, как 1С сервер, предварительно его настроив конечно. Postgres есть в стандартом docker-hub в изобилии, есть даже пропатченная 1Сными патчами версия, как-то запускал ради интереса -- работает.
12. herfis 496 14.09.16 16:22 Сейчас в теме
Образ собрал, запустил - работает!
Несколько вопросов:
1) при запуске 8-ка выкидывает в консоль два идентичных ворнинга вида
WARNING **: Couldn't connect to D-Bus system bus, Could not connect: No such file or directory
Чтобы это могло означать и на что это может повлиять?
2) перед завершением работы контейнера выкидывает
error: list of process IDs must follow -p
и потом справку по использованию ps
3) как я понял, в качестве побочного эффекта локальный кэш конфы 1С каждый раз заново создается? Я пока не решил, хорошо это или плохо :) С одной стороны - гарантия от сбойного кэша. С другой стороны - запуск занимает приличное время на средней тяжести конфе.
13. b00t 83 14.09.16 16:28 Сейчас в теме
(12) herfis, первое - ругается на отсутствие dbus, который для 1С не нужен, был бы нужен, если бы решили передавать GTK-сообщения на хост систему, например.
Второе -- нужно немного скрипт запуска допилить, он проверяет периодически не завершился ли процесс 1С-клиента, и последняя проверка, когда он уже завершился происходит, когда в переменной $! (pid последнего запущенного процесса, по стандартам POSIX) уже пусто, скрипт останавливается -- контейнер тоже. Т.е. обе первые ошибки можно игнорить, это не ошибки, нужно в скрипте их "съесть" /dev/null-ом
Да, кеш пока в тестовом режиме (чтобы рабочий не порушить) пересоздается, отключить можно закомментировав соответствующие строки в скрипте запуска, ну думаю вы разобрались, если спрашиваете
В планах вынести это в опцию при сборке контейнера.
14. pumbaE 14.09.16 16:28 Сейчас в теме
(12) herfis,
1.
WARNING **: Couldn't connect to D-Bus system bus, Could not connect: No such file or directory

для 8 это не имеет значения.
3. Если запускать как в run.sh указано, то у вас должен по пути ~/.1cv82 создаться каталог, где и будет кэш храниться и список баз тоже, ну а если не пробрасывать туда ~/.1cv82 тогда да, кэш будет создаваться каждый раз заново.
16. herfis 496 14.09.16 16:37 Сейчас в теме
(14) pumbaE, Время с начала запуска и до появления окна авторизации проходит одинаково долгое как при запуске скриптом, так и без.
17. b00t 83 14.09.16 16:48 Сейчас в теме
(16) herfis, ну нужно учитывать, что запуск самого контейнера тоже занимает какое-то время, это конечно не загрузка системы, но всё-же. Если хочется быстро, можно сделать версию когда контейнер стартует один раз, в нем стартует systemd или какой-нибудь планировщик. Затем клиенты нужное количество раз запускаются внутри этого контейнера. Будет быстрее, экономичнее, но это противоречит "docker good prractice". Данный контейнер делался как среда для разработки -- запустил и на весь день конфигуратор, в котором если запускать 1С-клиенты в режиме отладки, то они запускаются, естественно, в том же контейнере, что и конфигуратор. Соответственно время запуска не отличается от времени запуска 1С на хосте. Но если запускать-останавливать контейнер каждый раз -- добиться быстрого времени запуска не получится, можно конечно стрипнуть из образа всё лишнее, уменьшив его размер и оптимизировать немного сборку (не пихать например deb-пакеты в образ, потом их удаляя (инноды UFS/btrfs не освобождаются всё равно), а ставить эти пакеты из источника, подключенного к контейнеру из вне, например из отдельного data-контейнера. Но всё равно будет ощутимая разница во времени запуска. Чудес не бывает. docker конечно гораздо легче, чем скажем virtualbox vm, но всё же -- это виртуализация, эдакий очень умный chroot, проксирующий всё и вся, включая вызовы к ядру.
19. herfis 496 14.09.16 16:51 Сейчас в теме
(17) Не-не-не. Сам контейнер стартует сравнительно быстро (пару секунд). Речь о времени между выбором запускаемой базы и появлением окна авторизации этой базы (поиск лицензий отпадает, т.к. лицензии выдаются сервером и поиск их по сети отключен).
21. b00t 83 14.09.16 16:59 Сейчас в теме
(19) herfis, а ну тогда нужно посмотреть, логи поковырять, я думаю мест для оптимизации ещё предостаточно. Это, скажем так быстрое решение. Не "наколеночное" конечно, но ещё сыровато. Как минимум подрезать образ с 2Gb до 1.5?, а то и 1Gb думаю вполне реально. А так же посмотреть что происходит с 1С при запуске, возможно долго инициализируется кэш, возможно нужно повыносить что-либо из контейнера на хост-систему, а то и в ram-disk
23. b00t 83 14.09.16 17:05 Сейчас в теме
(19) herfis, кстати, вполне возможно, я на своей dev-станции на core i5 с 16G памяти, SSD, а так же /tmp /var/cache в tmpfs на ram-диске просто не чувствую "проблему", надо будет запустить на машине по слабее.
15. b00t 83 14.09.16 16:33 Сейчас в теме
(12) herfis, надо наверное добавить ответы на вопросы, которые сегодня обсудили в описание.
В скриптах ещё простор для "допиливания", конечно, я подпилю на досуге найденные шероховатости, или можете смело присылать реквесты сами.
18. herfis 496 14.09.16 16:49 Сейчас в теме
(15) Ну, это все фигня на фоне мировой революции. Публикации безоговорочный плюс.
Вопрос такой: это публикация в качестве примера использования технологий, или планируете ее в продакшене у себя использовать и допиливать по необходимости?
20. b00t 83 14.09.16 16:55 Сейчас в теме
(18) herfis, я её уже использую в продакшене и буду конечно допиливать. Дело в том, что у меня на всех рабочих станциях и дома и на работе arch linux, выхватив очередные проблемы с обновившейся библиотекой или просто прекращением работы на ровном месте -- родилось такое вот решение. В общем-то проблему это решило, допиливать конечно есть что. Ну и увидев, что публикаций на эту тему довольно мало, я решил опубликовать эту "заметку", будет время добавлю сюда описание всех нюансов, в том числе которые сегодня обсуждали, тогда может можно будет назвать это статьей. ))
22. herfis 496 14.09.16 17:01 Сейчас в теме
Упс. Вопрос снимается. Сам дурак. Запуск происходит быстро, просто у меня окно авторизации почему-то открывается позади первого окна, а не поверх, и создается иллюзия продолжения запуска. Это к сборке не относится.
24. b00t 83 14.09.16 17:06 Сейчас в теме
(22) herfis, бывает. с 1С вообще всякое бывает. но всё-равно есть что оптимизировать
25. herfis 496 14.09.16 17:13 Сейчас в теме
(24) Не вижу смысла в тонких оптимизациях и снижении размера образа. Два гига или один - абсолютно непринципиально. А скорость старта контейнера и сейчас высокая. Лучше потратить дорогое время специалиста на что-то более существенное и интересное с практической точки зрения :)
26. b00t 83 14.09.16 17:23 Сейчас в теме
(25) herfis, я в свое время создавал очень маленький docker контейнер с arch linux, очень много раз потом пригодился. Но 1С, сами понимаете -- принципиально на ubuntu собрана, т.к. она настолько гвоздями к системе прибита, что сам контейнер и создавался, ради возможности запуска на других linux-ах. Ну да, проектов много, я вообще, признаться честно не 1С-ник, просто бывают разные проекты и работы. По поводу 1С есть ещё несколько смежных проектов по мере превращения чего-либо в более-менее интересный вид -- может быть ещё опубликую что-нибудь необычное.
27. lustin 18.09.16 20:38 Сейчас в теме
28. b00t 83 19.09.16 02:09 Сейчас в теме
(27) lustin, кстати, да! Я как-то читал это уже, но, представляете -- вылетело из головы. Большое спасибо, что напомнили. Не люблю "копирастов", ведущих себя подобным образом, при этом они могут заюзать с десяток-другой технологий открытых, а потом -- "А знаете, что вы имя наше не используйте и иконку уберите из репозитория", так ещё и помни о каждом. А не собрать ли мне этот контейнер чисто на LXC
asolokha; +1 Ответить
29. herfis 496 19.09.16 10:25 Сейчас в теме
(27) lustin, ИМХО, подняли бурю в стакане воды. Очевидно, что это просто юристы перестраховались на случай реальной необходимости защиты торговой марки. Но осадочек оставляет, да.
Думаю, как только поднимется хайп по реальному прецеденту, буде он возникнет, требования конкретизируют и либерализируют. Не идиоты же они, в конце-концов.
30. alprk 17.10.16 11:38 Сейчас в теме
Здорово! Вот бы еще билд-скрипт сам умел качать нужный релиз с сайта.
31. пользователь 17.10.16 20:28
Сообщение было скрыто модератором.
...
32. b00t 83 17.10.16 21:41 Сейчас в теме
(31) Infactum, всё верно, образ оптимизировался чуть менее, чем нисколько.
Размер docker образа вообщем-то не имеет значения, если вы используете другие контейнеры на той же основе (я вообщем-то не использую debian/ubuntu, так что в моих условиях оверхед есть). Возможно на досуге займусь оптимизацией, если желание и время появится. 1С редко приходится запускать, для какой-нибудь интеграции с какой-нибудь разрабатываемой системой. У меня на всех машинах, что дома, что на работе arch linux, а 1С на чём-нибудь отличном от ubuntu или windows -- это боль и печаль (кстати на 12.04 она показала себя в работе хуже, чем на более свежей -- вылеты, обгрызанные шрифты несмотря на infinality, лаги редактора форм в конфигураторе, "залипания" окна с подсказкой по синтаксису или параметрам, оно просто не пропадает, а остается до перезапуска и куча всего подобного, сразу и не вспомню, так что не знаю что там у них официально поддерживается, я пытался сделать то, что работает)
По поводу репозитория локального -- он конечно должен быть всегда под рукой, но этот путь в данном случае не многим лучше моего "на скорую руку". Верный путь это собрать часть образа с 1С, библиотеками и прочим вообще снаружи контейнера в какой-нибудь squash-fs, выпилить оттуда всё лишнее, затем взять базовый образ ubuntu развернуть, выпилить лишнее и от туда, выгрузить UFS в образ, упаковать её и оптимизировать и склеить в одну транзакцию. Затем загрузить этот образ в новый контейнер, запустить и подмонировать squash, создав сим- или хардлинки в нужные места файловой системы. /tmp /home /var и прочую "динамику" в tmpfs в ramdisk или монтировать из вне, с хост-системы. Кто знает, если вдруг случится со мной проект, работая над которым придется чаще запускать 1С -- я, может быть, "психану" штуковиной, подобной описанному выше. Ну или кто-нибудь другой)
33. pumbaE 17.10.16 21:43 Сейчас в теме
(31) Infactum, за curl grep login - лайк.
К сожалению https://hub.docker.com/r/daald/ubuntu32/tags/ уже долгое время не обновляет базовые образы, даже не смотря на то, что он принял мой pull request https://github.com/daald/docker-brew-ubuntu-core-32bit/pull/1
Так что в дальнешем планирую наверное самому собрать свой image.
Плюс я бы посоветовал добавить установку xvfb-run, тогда не будет проблем с запуском конфигуратора в коммандном режиме.
Для установки из репозитария, советую посмотреть на aptly для организации своего deb сервера утилита чудесная.
34. b00t 83 17.10.16 21:48 Сейчас в теме
(31) Infactum, а ещё очень правильно было бы использовать prelink в этом контейнере, причем настроив его руками под это дело, а то и подготовив prelink-образ ручками.
35. пользователь 17.10.16 22:04
Сообщение было скрыто модератором.
...
36. пользователь 17.10.16 22:10
Сообщение было скрыто модератором.
...
37. b00t 83 17.10.16 22:40 Сейчас в теме
(36) pumbaE, ну как бы смотрите -- доступ на сайт ограничен (привет не только копирастам, но и 272 статье УК РФ).
Доступ осуществляется на платной основе, по договору ИТС, в договоре по мимо всего прочего есть запрет на передачу своего логина пароля третьим лицам, но и запрета этого не нужно на самом деле.
А на деле получается, что некто (возможно находясь в преступном сговоре) предоставил доступ к ресурсу, лицу, которое на такой доступ права не имело. В случае скрипта в репозитории -- массово, т.е. вы предоставили доступ к платному ресурсу "неопределенному кругу лиц", читайте "публичный доступ". Тут даже в мире Linux не все гладко, вы думаете просто так ни один пакетный менеджер без дополнительных "хаков" не поставит в автоматическом режиме oracle-java-jdk или mscorefonts который, кстати zip-архивом у меня в репозитории лежит, хоть и с лицензией внутри, но я на самом деле должен у пользователя явно спросить, выкатив лицензию, типа подпишешь -- продолжим, а не подпишешь -- exit(0) отсюда! Любой юрист вам прояснит, что дело тут пахнет жареным, в плане дать кому-то логин пароль от users.v8.1c.ru, просто особо дела нет кому-то до этого, но внезапно всё может измениться, например, если ваш скрипт станет популярным или нужен будет показательный процесс-порка, ну или просто "нужный" дядя заскучает на работе. Одному знакомому была серьезно испорчена карьера в США, закончилось даже потерей работы и приездом назад в РФ в итоге. Безопасники случайно нарыли небольшую гору "компромата для копираста", чувак разработал эмуль какого-то ключа, от финансовой аналитической системы, причем чисто технически, сам не использовал, не продавал, просто лежали "исследовательские материалы" в репозитории, про который тот уже и забыл за давностью лет. Поэтому я не рекомендую столь халатно относиться к этому вопросу. И вообще -- мир, дружба, opensource!
38. pumbaE 17.10.16 22:52 Сейчас в теме
(37) мені всеодно на "272 статье УК РФ".
В скрипте есть возможность указать свои логин и пароль для доступа на итс.
39. Infactum 314 18.10.16 06:09 Сейчас в теме
(37) я вот не пойму что вы панику развели.
Никто никакие пароли в общей доступ не выкладывает, как и дистрибутивы. Существующий скрипт просто позволяет вам скачать дистрибутивы нужно версий, если у вас есть на то права (доступ к сайту). Сами пароли нигде сохранены не будут, они исчезнут вместе с параметрами окружения, как только закроете сессию терминала.
Вот если бы я сейчас стал собранный образ в публичный docker hub выкладывать - другой разговор.
(32) (33) pumbaE, когда я говорил про локальный repo - речь не шла об использовании его на постоянной основе (хотя для внутренних задач компании может и пригодился бы). Речь о том, что вместо предварительной установки зависимости руками и далее dpkg -i клиента/сервера 1С в нужном порядке можно сделать примерно так:
dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz \
mkdir -p /etc/apt/sources.list.d \
echo deb file:/tmp ./ > /etc/apt/sources.list.d/onec.list \
apt-get update \
apt-get -y --force-yes install 1c-enterprise83-client
40. b00t 83 18.10.16 09:22 Сейчас в теме
Никакой паники, я просто подумал, что используется какой-то определенный логин/пароль, а не спрашивается у пользователя.

(39) Infactum, локальный репозиторий -- очень удобно, да конечно в первую очередь для компании.
Да я понял что вы предлагаете и предложил ещё более оптимизированный способ. Так и быть, если проснувшийся спортивный интерес к выходным не иссякнет -- сделаю то, о чем написал выше.
41. artbear 1447 18.10.16 14:44 Сейчас в теме
Куда подевались 35 и 36 ?
было что-то полезное? что за скрипт обсуждался?
42. Infactum 314 18.10.16 14:49 Сейчас в теме
(41) artbear, надо же, ссылку на мой гитхаб грохнули. Хотя ничего криминального там нет: альтернативная реализация сборщика docker образа, которая умеет сама качать дистрибутивы помимо прочего. Все легально (такой же функционал есть почти во всех конфигурациях для франчей), но похоже модераторам было лень разбираться.
43. b00t 83 18.10.16 23:32 Сейчас в теме
(42) Infactum, ну если там был просто скрипт сборки и при этом репозиторий не содержал: какого-либо логина/пароля для доступа или ссылки на место где их взять, готового образа вместе с 1С, ну или ссылки на него -- то действительно непонятно, почему потёрли, ели же что-то из вышеперечисленного всё же есть в репозитории, даже если пользователю предлагается ввести свои логин и пароль -- то это как раз та ситуация, о которой я и писал, убеждая всё же быть немного осторожнее.
44. Infactum 314 19.10.16 06:25 Сейчас в теме
(43) а вы стало быть так активно вели обсуждение, даже не заглянув туда? 100 строк кода изучить - много времени не надо.
Тем не менее предлагаю спросить мнения людей, которые в отличие от модераторов могут прочитать Dockerfile и скрипт на баше. А то уже не первый раз такая ситуация с тем, что трут полезную информацию.
artbeaer, pumbaE?
45. pumbaE 19.10.16 08:55 Сейчас в теме
(44) Infactum, я уже высказался лакам и star на github.
46. artbear 1447 19.10.16 11:40 Сейчас в теме
(44) Я также отметился звездой на гитхабе.
Репозиторий и скрипт абсолютно нормален.
Пользователь вводит свой собственный логин/пароль и получает с сайте 1С только ту информацию, к которой у него лично есть доступ.
никаких нарушений не вижу.
47. b00t 83 21.10.16 23:06 Сейчас в теме
(44) Infactum, я не ваш скрипт активно обсуждал, а способ распространения с предоставлением дистрибутива или доступа на сайт и возможные последствия. Если ваш скрипт не предоставляет ни первого, ни второго -- то сказанное мной его не коим образом не касается. Я не успел изучить ваш скрипт до удаления ссылки на него,, у меня достаточно мало времени и много проектов, а на вопрос "чей логин и пароль использует скрипт?" может ответить и его автор, т.е. -- вы. Если ваш скрипт спрашивает логин пароль у пользователя и качает дистрибутив с официального сайта -- это правильный способ и удобный для пользователя. Я надеюсь я ничем вас не обидел, не упрекайте меня и не обижайтесь, я пишу очень много кода, на разных языках, мой "рабочий" день с 6 утра и до 2-3 ночи, мне действительно не всегда доступно лишнее время для изучения дополнительных 100 строчек кода. Как вас найти на гитхабе?
48. nicxxx 254 06.08.17 23:21 Сейчас в теме
а как этот ваш контейнер на windows запустить?
49. пользователь 07.08.17 13:17
Сообщение было скрыто модератором.
...
50. Infactum 314 07.08.17 13:40 Сейчас в теме
(48) Для запуска linux контейнеров на windows вам нужен либо docker for windows (если планируется совместно с hyper-v использовать), либо docker toolbox (если в связке с virtualbox). В любом случае это будет запуск в виртуалке.
А еще нужны будут иксы, чтобы вывести окно приложения. Не знаю, что сейчас актуально, но можно взять XMing.
Только зачем это все в таком виде под виндой надо - совершенно не ясно.
51. nicxxx 254 07.08.17 16:43 Сейчас в теме
(50) Вообще-то есть докер для windows. Я наверное неправильно вопрос задал, точнее будет так: "Какая должна быть строка параметров для запуска именно этого контейнера на windows?", потому что мэппинги линуксовых каталогов там, само-собой, не срабатывают и выдают ошибку.
Очень мало хороших инструкций на русском по докеру, поэтому приходится тыкать вслепую...
52. maksaimer 13.09.18 11:12 Сейчас в теме
Как быть с програмными ключами? Как их пробросить в Докер контейнер? Как обычные файлы? При проверке лицензии 1с поймет что это та же машина и чек сумма по железу сойдётся?
53. MaCCapAkIII 26.08.22 16:53 Сейчас в теме
Собрать контейнер не получается.
docker build -t psyriccio/dck1c .                                        ✔  20s  
Sending build context to Docker daemon    604MB
Error response from daemon: no build stage in current context

Все пакеты сложил по инструкции.
Dockerfile такой (кстати так и не понял куда писать конструкции с распаковкой скинов &&, в докерфайле а них ругался сборщик)
ENV PLT_VERSION 8.3.18-1208 
ENV PLT_ARCH amd64 
ENV LANG ru_RU.utf8 
54. MaCCapAkIII 26.08.22 17:30 Сейчас в теме
(53) Есть подозрение, что мой dockerfile не содержит всей необходимой информации для сборки. Например инструкции FROM. Есть возможность подправить мой состав dockerfile для нормальной сборки?
Что-то типа:
FROM ???
RUN sudo 
&& unzip /opt/zukitwo-themes.zip -d /usr/share/themes \ 
&& unzip /opt/yltra-icons.zip -d /usr/share/icons \ 
&& unzip /opt/ultraflat-icons.zip -d /usr/share/icons \ 
ENV PLT_VERSION 8.3.18-1208 
ENV PLT_ARCH amd64 
ENV LANG ru_RU.utf8 
Показать
Оставьте свое сообщение