Служба SQL Server не запускается в контейнере Windows Docker

Я автоматизирую установку SQL Server в контейнере Windows. Вот моя команда установки:

c:\setup.exe /q /ACTION=Install /INSTANCENAME=MSSQLSERVER /FEATURES=SQLEngine /UPDATEENABLED=0 /SQLSVCACCOUNT='NT AUTHORITY\Network Service' /SQLSYSADMINACCOUNTS='BUILTIN\ADMINISTRATORS' /TCPENABLED=1 /NPENABLED=0 /IACCEPTSQLSERVERLICENSETERMS

Я получаю сообщение об ошибке 0x851A001A в файле C:\Program Files\Microsoft SQL Server\130\Setup Bootstrap\Log\Summary.txt.

Поэтому я попробовал SQLSVCACCOUNT='NT AUTHORITY\Network Service' и SQLSVCACCOUNT='NT AUTHORITY\SYSTEM'. Оба терпят неудачу одинаково.

Несмотря на ошибку, служба SQL Server действительно будет установлена, поэтому я попытался запустить вручную из powershell:

Start-Service SQLSERVERAGENT

Эта команда не удалась< /а>. Кажется, у моей учетной записи контейнера Docker нет разрешений на запуск службы. Команда whoami в контейнере Docker показывает моего пользователя как «Manager\ContainerAdministrator».

Установка SQLSVCACCOUNT="Manager\ContainerAdministrator" даже не установит SQL Server.

Обратите внимание, что при использовании тех же файлов установки и команды установки SQL Server будет правильно установлен на машине VMWare. Только при установке на Docker я вижу эту ошибку.

Есть ли способ принудительно запустить службу SQL Server? Запуск powershell от имени администратора не помог. Мои учетные данные контейнера Docker не синхронизированы с учетными данными, с которыми я устанавливаю SQL Server?

Возможная связанная проблема: https://github.com/Microsoft/mssql-docker/issues/ 279


person PadawanLearner    schedule 21.08.2018    source источник
comment
Почему вы не используете официальный образ SQL от Microsoft?hub.docker. com/r/microsoft/mssql-server-windows-express   -  person Gregory Suvalian    schedule 21.08.2018
comment
Поскольку этот образ устанавливает SQL Server 2017, а наш продукт поддерживает только до 2016 года. Я могу в конечном итоге спросить владельцев продукта, можем ли мы просто протестировать с 2017 и получить этот образ, но это мой резервный план.   -  person PadawanLearner    schedule 21.08.2018
comment
Вы знаете, что SQL-сервер НЕ поддерживается Microsoft внутри контейнеров Windows, поддерживается только Linux (представьте, что это продукт Microsoft)?   -  person Gregory Suvalian    schedule 21.08.2018
comment
github.com/Microsoft/mssql- docker/blob/master/windows/ В частности, строка 1: FROM microsoft/windowsservercore Этот файл dockerfile сейчас не поддерживается?   -  person PadawanLearner    schedule 21.08.2018
comment
Центр Docker был обновлен 6 месяцев назад, так что да, Microsoft не активно перестраивает этот образ контейнера. Как я уже сказал выше, они не поддерживают это, даже если бы они это сделали. Вы планируете это для разработки или фактически изучаете возможность использования в производстве?   -  person Gregory Suvalian    schedule 21.08.2018
comment
Ясно спасибо! Да, это будет тестирование релиза dev + QA.   -  person PadawanLearner    schedule 21.08.2018
comment
Похоже, что этот файл докеров основан на версии 2016. Посмотрите, подойдет ли он вам github.com/Microsoft/mssql-docker/blob/master/windows/   -  person Gregory Suvalian    schedule 21.08.2018