Я думаю, раньше это работало в месяц go, а с последним раундом Windows обновлений это не так.
Установить docker на Windows 2016 ВМ в Azure.
Dockerfile
FROM mcr.microsoft.com/dotnet/framework/sdk:3.5
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
ENV attach_dbs="[]" \
ACCEPT_EULA="_" \
sqlUsername="***" \
sqlPassword="***" \
sqlServer=".\sqlexpress"
RUN [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; \
Invoke-WebRequest -Uri "https://go.microsoft.com/fwlink/?linkid=829176" -OutFile sqlexpress.exe; \
Start-Process -Wait -FilePath .\sqlexpress.exe -ArgumentList /qs, /x:setup; \
.\setup\sqlexpress.exe /q /ACTION=Install /INSTANCENAME=SQLEXPRESS /FEATURES=SQLEngine /UPDATEENABLED=0 /SQLSVCACCOUNT='NT AUTHORITY\System' /SQLSYSADMINACCOUNTS='BUILTIN\ADMINISTRATORS' /TCPENABLED=1 /NPENABLED=0 /IACCEPTSQLSERVERLICENSETERMS; \
Remove-Item -Recurse -Force sqlexpress.exe, setup
Это не работает. Я получаю
.\setup\sqlexpress.exe : The term '.\setup\sqlexpress.exe' is not recognized
as the name of a cmdlet, function, script file, or operable program. Check the
spelling of the name, or if a path was included, verify that the path is
correct and try again.
At line:1 char:328
+ ... press.exe -ArgumentList /qs, /x:setup; .\setup\sqlexpress.exe /q /ACT ...
+ ~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (.\setup\sqlexpress.exe:String)
[], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : CommandNotFoundException
Если я запускаю контейнер и каждую команду вручную, когда я запускаю sqlexpress, я не получаю установочный каталог. EXE не извлекает. Я получаю следующее событие в системном журнале.
EventID : 26
MachineName : 9a09e0a0ac1f
Index : 1173
Category : (0)
CategoryNumber : 0
EntryType : Information
Message : CriticalAppShutdownCleanupTimeout
Source : Application Popup
ReplacementStrings : {sqlexpress.exe - Entry Point Not Found, The procedure entry point NtLoadKey3 could not be
located in the dynamic link library C:\Windows\System32\wow64.dll. }
InstanceId : 26
TimeGenerated : 8/4/2020 3:58:34 PM
TimeWritten : 8/4/2020 3:58:34 PM
UserName : NT AUTHORITY\SYSTEM
Site :
Container :
Google sez, это новая точка входа в недавнем обновлении Windows. Кто-нибудь видел это? Знаете, где с этим go? Спасибо.
PS C:\temp\docker2> docker version
Client: Docker Engine - Enterprise
Version: 19.03.11
API version: 1.40
Go version: go1.13.11
Git commit: 0da829ac52
Built: 06/26/2020 17:20:46
OS/Arch: windows/amd64
Experimental: false
Server: Docker Engine - Enterprise (Unlicensed - not for production workloads)
Engine:
Version: 19.03.11
API version: 1.40 (minimum version 1.24)
Go version: go1.13.11
Git commit: 0da829ac52
Built: 06/26/2020 17:19:32
OS/Arch: windows/amd64
Experimental: false