1С в Windows docker контейнерах

19.11.18

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
dockerfile
. 0,54Kb
15
15 Скачать (1 SM) Купить за 1 850 руб.
prepare.ps1
.ps1 0,66Kb
16
16 Скачать (1 SM) Купить за 1 850 руб.
start.ps1
.ps1 1,73Kb
19
19 Скачать (1 SM) Купить за 1 850 руб.

Введение

Если вы интересуетесь современными тенденциями в мире IT, то наверняка слышали про docker. Если вкратце: данная технология позволяет запускать контейнеры с установленными приложениями в своей песочнице(нет, это не виртуализация).  Подробнее вы можете почитать например на хабре. То есть, мы можем быстренько собрать и запустить контейнер с требуемой версией 1с сервера. Docker широко используется в Linux и даже можно найти готовые контейнеры в docker.hub, но 1с-ник по большей части живет в windows.

Для чего это нужно?

Быстрота и простота разворачивания. Мы можем подготовить рабочее окружение двумя командами. Наше подготовленное окружение всегда в ожидаемом состоянии. Нет плясок с бубном при установке.

Установка нескольких версий сервера 1С и запуск нужной. 

На сервере не устанавливается куча хлама

В данной статье я покажу как самому собрать контейнер с сервером 1С.

Требования к ОС:

Функция контейнера Windows доступна только в Windows Server сборки 1709, Windows Server 2016, Windows10 Professional и Windows10 Корпоративная (Anniversary Edition)

Требования к железу:

Процессор должен поддерживать виртуализацию

Установка Docker

Windows server 2016

Открываем powershell от имени администратора и выполняем следующие команды:

Install-Module DockerMsftProvider -Force
Install-Package Docker -ProviderName DockerMsftProvider -Force
(Install-WindowsFeature Containers).RestartNeeded 

Если после последней команды на экране появилось "да", необходимо перезагрузить компьютер.

Windows 10

Здесь немного проще. Качаем установщик с официального сайта download.docker.com и запускаем. При установке ставим галочку напротив windows контейнеров

Запуск

Для запуска нашей среды, нам нужно запустить 2 контейнера: база данных и сервер 1С. Конечно, вы можете использовать и ваш существующий сервер.

База данных

Будем запускать на MSSQL. Microsoft уже подготовил необходимый контейнер с подробным описанием.  Ссылка на docker.hub

Ставим его командой в powershell от имени администратора. В строке нужно заменить <SA_PASSWORD> на наш пароль.

docker run -d -p 1433:1433 -e sa_password=<SA_PASSWORD> -e ACCEPT_EULA=Y microsoft/mssql-server-windows-developer

Разберем эту команду:

docker run - Запускает контейнер в локальном хранилище. Если его нет - качает из репозитария.

-d - контейнер запускается в фоне. В противном случае вы попадете в консоль powerchell контейнера

-p - Пробрасывает порт с контейнера на локальную машину.

-e - Переменные, которые передаются в контейнер  

в переменную -e sa_password=<SA_PASSWORD> нужно установить ваш пароль пользователя SA.

Для подключения существующих баз, дополним нашу команду.

Нужно пробросить папку с нашими базами в контейнер

-v КаталогНаХосте:КаталогВКонтейнере

Базы подключаются через переменную attach_dbs

-e attach_dbs="[{'dbName':'Test','dbFiles':['C:\\db\\test.mdf','C:\\db\\test_log.ldf']},{'dbName':'HomeBuh','dbFiles':['C:\\db\\HomeBuh.mdf','C:\\db\\HomeBuh_log.ldf']}]"

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

docker run -d -p 1433:1433 -e sa_password=<SA_PASSWORD> -e ACCEPT_EULA=Y -v C:/temp/:C:/temp/ -e attach_dbs="[{'dbName':'SampleDb','dbFiles':['C:\\temp\\sampledb.mdf','C:\\temp\\sampledb_log. ldf']}]" microsoft/mssql-server-windows-developer

Сервер 1С

Внимание! Данный образ предназначен только для тестов.

Для того, чтобы информация о наших кластерах сохранялась на локальном компьютере и ее можно было подключить в другой контейнер, создадим папку c:\srvinfo

Выполним команду powershell

docker run -d -p 1541:1541 -p 1540:1540 -p 1560-1591:1560-1591 -v C:/srvinfo:C:/srvinfo lishniy/1c-windows 

Все готово. Вот тут меня ждал сюрприз. Я давно использовал mssql в контейнере на тестовой машине и всегда обращался к нему по localhost. Сейчас это или поломали, или звезды так сошлись, но работать так перестало. Здесь и здесь можно почитать почему. Так что пока это чинят, либо пробрасываем контейнер в нашу сеть(при запуске контейнера указываем --network host в место кучи портов), либо определяем ip выданные внутри сети и подключаемся к ним. Для этого нужно выполнить две простых команды. В примере я буду показывать вместе с выводом

PS C:\WINDOWS\system32> docker container ls
CONTAINER ID        IMAGE                                      COMMAND                  CREATED             STATUS                    PORTS          NAMES
7bd5d26e9297        lishniy/1c-windows                         "powershell -Command…"   12 minutes ago      Up 10 minutes             0.0.0.0:1540-1541->1540-1541/tcp, 0.0.0.0:1560-1591->1560-1591/tcp   gallant_perlman
696eb9b29a02        microsoft/mssql-server-windows-developer   "powershell -Command…"   38 minutes ago      Up 37 minutes (healthy)   0.0.0.0:1433->1433/tcp                                               youthful_wing
PS C:\WINDOWS\system32> docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' 696eb9b29a02
172.17.84.179
PS C:\WINDOWS\system32> docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' 7bd5d26e9297
172.17.92.255

Первая команда выводит список контейнеров, вторая получает ip адрес контейнера по его id.

Итак, адреса у нас есть. Теперь открываем консоль администрирования и добавим нашу базу как обычно.

Остановка запуск контейнеров

При выполнении команды 

docker run ...

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

 docker container ls -a
CONTAINER ID        IMAGE                                      COMMAND                  CREATED             STATUS                              PORTS               NAMES
7bd5d26e9297        lishniy/1c-windows                         "powershell -Command…"   2 days ago          Exited (1073807364) 43 hours ago                        gallant_perlman
696eb9b29a02        microsoft/mssql-server-windows-developer   "powershell -Command…"   2 days ago          Exited (1073807364) 4 minutes ago                       youthful_wing

В дальнейшем можно запускать/останавливать готовые контейнеры

docker container start Container_ID
docker container stop Container_ID
docker container restart Container_ID

Так же есть GUI приложения для управления. Например kitematic

Сборка Docker контейнера

Использовать готовые контейнеры просто и удобно, в случае с базой данных мы можем перейти на GitHub и посмотреть как его собрали. Хотя для контейнеров без dockerfile в описании мы не можем знать наверняка что внутри.

Итак, тот минимум что нам понадобится

  1. Установщик 1С.
  2. SQL native client
  3. dockerfile
  4. Скрипт powershell для запуска службы 1с. Я использовал из репозитория Microsoft
  5. Скрипт powershell для установки и настройки. Я назвал его prepare.ps1 

С первыми двумя все понятно. Перейдем к построению dockerfile.

dockerfile

Этот файл представляет из себя файл с шагами для построения нашего контейнера.

Для начала просто попробуем построить и запустить наш контейнер. Для этого собираем все наши файлы в один каталог. Создаем там dockerfile с таким содержимым

FROM microsoft/windowsservercore
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
WORKDIR /
COPY prepare.ps1 Wait-Service.ps1 1cEnt.zip sqlncli.msi ./
RUN .\prepare.ps1; powershell.exe -Command Remove-Item prepare.ps1 -Force
CMD .\Wait-Service.ps1 -ServiceName '1C:Enterprise 8.3 Server Agent' -AllowServiceRestart

Разберем его детально

FROM microsoft/windowsservercore

Указываем контейнер, который берем за основу. Это windows server core. По умолчанию берется образ с тегом latest. Вы можете попробовать последнюю версию, она занимает значительно меньший объем. Я использовал эту, так как контейнер mssql построен на нем же, а в этом случае это кусок не качался заново.

SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]

Указываем в качестве командной строки powershell вместо cmd

WORKDIR  / - Указывает рабочий каталог
COPY -копируем файлы для установки
RUN -запускаем установочный скрипт
CMD -команда, которая будет запущена после старта контейнера

Создаем файл prepare.ps1. В нем устанавливаем 1C и настраиваем службу.

msiexec /i "1CEnterprise 8.2.msi" /qr TRANSFORMS=adminstallrelogon.mst;1049.mst DESIGNERALLCLIENTS=0 THICKCLIENT=0 THINCLIENTFILE=0 THINCLIENT=1 WEBSERVEREXT=0 SERVER=1 CONFREPOSSERVER=0 CONVERTER77=0 SERVERCLIENT=0 LANGUAGES=RU
Remove-Item c:\sqlncli.msi -Force
sc.exe config "1C:Enterprise 8.3 Server Agent" depend= "/"

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

Теперь в окне powershell переходим в папку с файлами и вводим

docker build .

После завершения построения запускаем (в вашем случае первые две колонки будут пустые).

docker images
REPOSITORY                                 TAG                 IMAGE ID            CREATED             SIZE
lishniy/1c-windows                         latest              dab800c94b09        3 days ago          11.6GB

docker run -d -p 1541:1541 -p 1540:1540 -p 1560-1591:1560-1591 dab800c94b09 

После этих операций, наш контейнер будет работать. Но есть небольшие нюансы. Мы не можем ни включить логирование, ни воспользоваться отладкой на сервере, ни поменять порты. Поэтому чуть доработаем наш dockerfile

FROM microsoft/windowsservercore
ENV regport=1541 \  
    port=1540 \
    range="1560:1591" \
    debug="N" \
    log="N"
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
WORKDIR /
COPY logcfg.xml start.ps1 prepare.ps1 Wait-Service.ps1 1cEnt.exe sqlncli.msi ./
RUN .\prepare.ps1; powershell.exe -Command Remove-Item prepare.ps1 -Force
CMD .\start.ps1 -regport $env:regport -port $env:port -range $env:range -debug $env:debug -servpath "C:\srvinfo" -log $env:log -Verbose


Здесь добавились описание переменных, которые мы можем задавать при запуске контейнера. Так же мы копируем подготовленные файл для включения логов в 1С logcfg.xml и доработанный скрипт для запуска

ENV regport=1541 \  
    port=1540 \
    range="1560:1591" \
    debug="N" \
    log="N"

Теперь в качестве точки запуска используется скрипт, в котором мы можем задать порты, включить отладку и логирование, указать путь для хранения информации о кластерах

Вы сами можете написать свой скрипт, или воспользоваться готовым в приложении.

docker администрирование

См. также

DevOps для 1С DevOps и автоматизация разработки Программист Стажер Платные (руб)

Данный онлайн-курс (интенсив) предусматривает изучение процессов, инструментов и методик DevOps, их применение при разработке на платформе 1С. 

2500 руб.

20.06.2023    22269    2    4    

310

SALE! 15%

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

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя.

8400 7140 руб.

20.08.2024    7766    55    22    

66

Инструменты администратора БД Роли и права Системный администратор Программист Пользователь 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, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 18.09.2024, версия 1.2

16800 руб.

06.12.2023    8842    42    5    

73

SALE! 15%

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

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

10000 8500 руб.

10.11.2023    10416    36    21    

61

SALE! 35%

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

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

4800 3120 руб.

14.01.2013    187973    1138    0    

912

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

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

14400 руб.

29.04.2020    32666    106    152    

73

SALE! 50%

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

Использования систем контроля версий — стандарт современной разработки. На курсе научимся использованию Хранилища 1С и GIT при разработке на 1С:Предприятие 8. Разберем подходы и приемы коллективной разработки, научимся самостоятельно настраивать системы и ориентироваться в них.

4900 2450 руб.

29.06.2022    11932    99    4    

131

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

Автотесты 1С - готовые тестовые сценарии, предназначенные для регресс-тестирования функционала конфигурации после обновления типовым релизом. Сценарии проверяют интерактивное заполнение форм документов, справочников и результат проведения документов. Сценарий – feature-файл, разработанный с помощью vanessa-automation. Запуск сценария выполняется интерактивно с помощью vanessa-automation или с помощью vanessa-runner в CI-системах. Доступно тестирование тонкого клиента. Поддерживаемые версии конфигураций 1С:Зарплата и Управление Персоналом 3 и версии КОРП: 3.1.30.57.

2160 руб.

05.08.2024    1277    12    1    

7
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. zeegin 117 02.10.18 16:33 Сейчас в теме
2. lishniy 133 02.10.18 16:52 Сейчас в теме
(1) Когда начал копать в эту сторону, с сервера 1C на Linux нельзя было подключится к MsSQL (честно говоря не знаю как сейчас с этим дела обстоят). Ну и если вся инфраструктура на windows, то как минимум нужно поднять виртуальную машину с линукс.
Цель статьи рассказать и показать что такое есть, это не сложно и этим можно пользоваться.
4. zeegin 117 02.10.18 19:57 Сейчас в теме
(2) У Win Server 2016 тесная интеграция с Hyper-V. Там же можно из коробки настроить kubernates для оркестрации. Ну и контейнер с Postgres тоже можно сделать, MsSQL в контейнере очень прожорлив.
Прикрепленные файлы:
6. lishniy 133 02.10.18 21:07 Сейчас в теме
(4) Так у вас на скриншоте и есть виртуальная машина с linux. Windows контейнеры работают нативно без ВМ. Вроде как в последних версиях на windows 10 контейнеры linux тоже работают нативно, но на серверную ось подсистемы linux так и не появились. MsSQL и правда работает очень медленно в контейнере. Надеюсь, работа идет в этом направлении и скоро производительность хоть чуток будет на уровне
JohnyDeath; +1 Ответить
13. kembrik 10 03.10.18 13:09 Сейчас в теме
(2) Проверяли пару месяцев назад, с линуксового сервера на MSSQL стукнуть нельзя, ничего не изменилось
3. sytkosa 119 02.10.18 19:45 Сейчас в теме
(0)
Нужно обратить внимание: информация в контейнерах не сохраняется. После остановки и запуска контейнера все данные с предыдущего сеанса удалятся. Для сохранения и работы с ними используются другие механизмы, которые так же описаны в данной статье..


а где можно в статье это более подробно почитать не нашел к сожалению.
5. lishniy 133 02.10.18 20:47 Сейчас в теме
(3) для mssql
Для подключения существующих баз, дополним нашу команду.

Нужно пробросить папку с нашими базами в контейнер

-v КаталогНаХосте:КаталогВКонтейнере
Базы подключаются через переменную attach_dbs

-e attach_dbs="[{'dbName':'Test','dbFiles':['C:\\db\\test.mdf','C:\\db\\test_log.ldf']},{'dbName':'HomeBuh','dbFiles':['C:\\db\\HomeBuh.mdf','C:\\db\\HomeBuh_log.ldf']}]"

для сервера 1с
Для того, чтобы информация о наших кластерах сохранялась, создадим папку c:\srvinfo
Выполним команду powershell

docker run -d -p 1541:1541 -p 1540:1540 -p 1560-1591:1560-1591 -v C:/srvinfo:C:/srvinfo lishniy/1c-windows

В моем контейнере база кластеров мапится в C:/srvinfo в контейнере и мы мапим в такой-же каталог на нашем диске. Можете изменить этот путь на свое усмотрение
7. kalyaka 1105 03.10.18 10:07 Сейчас в теме
Если знаете, поделитесь, пожалуйста, как настроить сервер 1С для работы с лицензией из докер-контейнера?
Интересует работа с программной и аппаратной лицензией, особенности, можно ли также легко подключать лицензии к докеру, как и настраивать сервер 1С через переменные описания?
igor.ofitserov; kraynev-navi; +2 Ответить
12. lishniy 133 03.10.18 11:32 Сейчас в теме
(7) На текущий момент пробросить USB устройства в windows контейнерах нельзя. Я вижу только один вариант: usb over ip или другие подобные.
14. kembrik 10 03.10.18 13:15 Сейчас в теме
(7) Хотел было предложить настроить отдельный сервер лицензирования, потом вспомнил что без установки серверных компонентов не обойтись, а как этот зоопарк версий на разных портах начнет делить серверный ключ и раздавать программные лицензии большой вопрос. Ну ладно, пользовательские лицензии можно "волевым усилием" закупить локальные, но это только первая половина проблемы..
8. Evil Beaver 8243 03.10.18 11:02 Сейчас в теме
Поправочка: информация в контейнерах сохраняется на весь срок жизни контейнера. Его можно останавливать и запускать. А вот после удаления контейнера - да исчезает. Хорошей практикой считается вынесение нужных данных в volumes, чтобы контейнеры можно было грохать и масштабировать, но сам тезис "после остановки контейнера данные исчезают" - неверный.
JohnyDeath; nvv1970; for_sale; sergey.novikov; CSiER; +5 Ответить
9. пользователь 03.10.18 11:19
Сообщение было скрыто модератором.
...
10. пользователь 03.10.18 11:28
Сообщение было скрыто модератором.
...
11. lishniy 133 03.10.18 11:28 Сейчас в теме
(8) Если не верите мне, вот ссылка на описание на оффициальном сайте.

Запустите контейнер mssql. Создайте в нем базу, после чего перезапустите его.
17. lishniy 133 04.10.18 09:46 Сейчас в теме
(8) Прошу прощения. Похоже Вы были правы.
18. Evil Beaver 8243 04.10.18 11:15 Сейчас в теме
(17) со мной такое часто бывает )
Golovanoff; Shmell; vvp117; Vladimir Litvinenko; amon_ra; JohnyDeath; zeegin; +7 Ответить
15. tsukanov 03.10.18 14:03 Сейчас в теме
На Windows 10 (не Pro) не взлетит же, да?
16. nixel 1433 04.10.18 00:45 Сейчас в теме
19. dr2c 44 09.10.18 08:24 Сейчас в теме
Подскажите вот по этому.
либо пробрасываем контейнер в нашу сеть(при запуске контейнера указываем --network host в место кучи портов)

Я хочу чтобы контейнер с MsSQL получил ip из локальной сети (лучше от dhcp), а подключиться к нему с другой машины. Это возможно?
20. lishniy 133 09.10.18 09:27 Сейчас в теме
(19) Да, это оно и есть.
docker run -d --network host -e sa_password=<SA_PASSWORD> -e ACCEPT_EULA=Y microsoft/mssql-server-windows-developer

Дополнительно можно задать mac адрес и имя хоста
--mac-address=MACADDRESS...

-h HOSTNAME или --hostname=HOSTNAME
21. dr2c 44 09.10.18 17:13 Сейчас в теме
Я извиняюсь, немного потуплю. Вот я ввожу такую строку
docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=<YourStrong!Passw0rd>' -p 1433:1433 --name sql1 -d mcr.microsoft.com/mssql/server:2017-latest

создается контейнер и строкой
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' sql1

я получаю его ip вида 172.0.0.2 и не могу к нему подключиться со сторонней машины.

Теперь строкой
docker run -d --network host --name sql2 -e 'SA_PASSWORD=<YourStrong!Passw0rd>' -e ACCEPT_EULA=Y mcr.microsoft.com/mssql/server:2017-latest

создаю другой контейнер.
Запрашиваю ip- получаю пустую строку..
Подключится снова не могу (файервол отключен)...
22. lishniy 133 09.10.18 21:28 Сейчас в теме
(21) Вы перемудрили. Когда создается контейнер с указанием портов, вы можете подключаться к нему с другой машины указав ip машины на которой запущен Docker. Танцы с бубном нужны только чтоб подключится с машины на которой создаете.
Во втором случае смотрите на своем DHCP сервере. Можете попробовать задать ip вручную
dr2c; acanta; +2 Ответить
23. dr2c 44 10.10.18 09:02 Сейчас в теме
(22) Да, все верно, спасибо! Намудрил при подключении. Проверил порт 1433- слушает, стало спокойней и разобрался.
Если кому пригодится, вот строка для PowerShell. Проверка открытого порта:
$server="yourserver"; $port=1433; echo ((new-object Net.Sockets.TcpClient).Connect($server,$port)) "$server is listening on TCP port $port";

yourserver может быть и имя и IP
JohnyDeath; +1 Ответить
24. dr2c 44 10.10.18 18:11 Сейчас в теме
А вот момент сохранения контейнера и его развертывания на другом сервере? Думаю тут самое интересное. Как это делается?
25. lishniy 133 10.10.18 20:23 Сейчас в теме
(24) Данные 1с сервера сохраняются куда укажите, для этого и есть параметр:
-v C:/srvinfo:C:/srvinfo

в MsSQL вы же базы подключаете
-e attach_dbs={}

Одна сложность, если база создается уже в контейнере, ее нужно будет перенести в ту папку, которую мапите.
29. for_sale 976 24.02.19 23:07 Сейчас в теме
(24)
Грузите образ в хаб (push), а потом загружаете на целевом компьютере (pull). Это уже вопрос не к данной статье, а общий вопрос по докеру.
26. palsergeich 15.11.18 11:40 Сейчас в теме
27. Shmell 546 21.11.18 14:08 Сейчас в теме
must have! очень полезная и актуальная статья
35. GreenDragon 01.04.19 11:25 Сейчас в теме
(27) Могу выложить всё это на гитхабе, чтобы меньше времени тратить (собсно, там скрипты переделанные на специфику x64 и файлы оригинальной платформы). В оригинальной поставке переименовал файл msi, заменив пробелы на "_", так как была проблема с передачей имени в виде параметра в скрипт - упорно ругался, несмотря на заключение имени файла в кавычки.
36. lishniy 133 01.04.19 11:31 Сейчас в теме
37. GreenDragon 01.04.19 11:40 Сейчас в теме
(36) Я попробую. Никогда ещё не пробовал
28. for_sale 976 24.02.19 22:55 Сейчас в теме
данная технология позволяет запускать контейнеры с установленными приложениями в своей песочнице(нет, это не виртуализация)

Да, это виртуализация.
30. hercares 24.02.19 23:27 Сейчас в теме
нет, это не виртуализация)


Да, это виртуализация.

Самокритично.
Под mac os есть поддержка docker c Windows?
31. GreenDragon 07.03.19 08:10 Сейчас в теме
1cEnt.zip в первом скрипте и 1cEnt.exe во втором - это что и откуда?
32. lishniy 133 11.03.19 15:53 Сейчас в теме
42. AerosolMsc 14.01.21 00:43 Сейчас в теме
(32) Можно Вас попросить и мне ответить, пожалуйста?
33. GreenDragon 31.03.19 17:54 Сейчас в теме
Пробую собрать контейнер со свежим официальным дистрибутивом 64-битного сервера 1С. Но в результате натыкаюсь, что
Stop-Service : Cannot find any service with service name '1C:Enterprise 8.3 Server Agent (x86-64)'


Идеи уже закончились...
34. lishniy 133 01.04.19 09:22 Сейчас в теме
(33) Первое что приходит на ум, не поменяли путь для x64 версии. Попробую на досуге собрать x64, посмотрю
38. valentinko 157 02.09.19 15:04 Сейчас в теме
Все здорово. Спасибо.
Пару моментов, точнее один.
Ругается на отсутствие службы 1С при запуске.
Посмотрев список каталогов контейнера - пришел к выводу что установки 1С не было вообще.
И что бы я ни делал, как бы не извращался над скриптом prepare - результат тот же. Не могу установить 1С в контейнере.
При этом контейнер успешно создается и запускается.
См. скрины
Прикрепленные файлы:
43. dimonkyz 28.07.21 16:41 Сейчас в теме
Такая же проблема, подозреваю что проблема в том что при первой установки в параметрах запуска службы стоит левая учетная запись, Кто подскажет какой параметр указывать установщику чтобы во время установки подставлялась нужная УЗ?
Прикрепленные файлы:
44. lishniy 133 28.07.21 16:50 Сейчас в теме
39. nvv1970 28.10.19 08:36 Сейчас в теме
Познакомился с докером. Да, интересно, задорно, молодежно... В многих сценариях/приложениях удобно.
Но не в 1с.... Нарисуйте кто-нибудь, какие сценарии работы с докер могут облегчить жизнь рядового 1сника?
Да и работа с докер в виндовс кажется почему-то геморроем... Нужно попробовать.
40. alexey_kurdyukov 165 27.05.20 02:09 Сейчас в теме
"Нет, это не виртуализация",..."процессор должен поддерживать виртуализацию" - где правда?
41. borzyj 1 06.07.20 05:46 Сейчас в теме
(40)Правда в том, что это виртуализация другого уровня, т.е. нет изолированной ОС как в привычных ВМ, а изолированное пространство разделяющее ресурсы хостовой ОС, понимающее себя как саму ОС.
Оставьте свое сообщение