Docker в Windows Server 2016 (1803) не может создать такой же файл Docker в Windows 10 - PullRequest
0 голосов
/ 01 сентября 2018

Я пытаюсь создать образ Windows Docker, созданный из образа microsoft/wcf. Служба WCF использует компонент COM, который установлен и зарегистрирован MSI от стороннего производителя.

Dockerfile:

FROM microsoft/wcf

WORKDIR C:/local

COPY SomeInstaller.exe ./

RUN ./SomeInstaller.exe /SP /VERYSILENT /SUPPRESSMSGBOXES /NOICONS

WORKDIR "C:/Program Files/SomeProgram/Interface"

RUN regsvr32 SomeProgramCOM.dll /s

WORKDIR C:/certs
COPY ./ops-certs .

RUN powershell "./Install-OpsCertificates.ps1"

Когда я строю это в своей локальной среде Windows 10, она работает правильно. Программа установки успешно завершает работу, файлы расположены в нужном месте, и регистрация COM проходит. Тем не менее, когда я запускаю это на нашем сервере сборки (обновление Windows Server 2016 1803), установщик не работает (не работает тихо), и COM-dll не регистрируется.

Разве выходные данные не должны быть одинаковыми при создании этого Dockerfile?

Построить вывод

Status: Downloaded newer image for microsoft/wcf:latest
 ---> e4b543a82489
Step 2/9 : WORKDIR C:/local
Removing intermediate container cf6b7d21b207
 ---> 5e943a9bd1be
Step 3/9 : COPY SomeProgram.exe ./
 ---> c1e0781fb180
Step 4/9 : RUN ./SomeProgram.exe /SP /VERYSILENT /SUPPRESSMSGBOXES /NOICONS
 ---> Running in 2cc2bb26cea4
Removing intermediate container 2cc2bb26cea4
 ---> 1ed4cbf280ad
Step 5/9 : WORKDIR "C:/Program Files/SomeProgram/Interface"
Removing intermediate container 9c5df9cc4cfd
 ---> 5387093d3311
Step 6/9 : RUN regsvr32 SomeProgramCOM.dll /s
 ---> Running in 66ddc85117fc
Removing intermediate container 66ddc85117fc
 ---> 453a43979c71
Step 7/9 : WORKDIR C:/certs
Removing intermediate container 03fefdeb069b
 ---> a42989c178fb
Step 8/9 : COPY ./ops-certs .
 ---> 4d60c35a7bab
Step 9/9 : RUN powershell "./Install-OpsCertificates.ps1"
 ---> Running in 8cecda9be47c
Scrip execution directory is C:\certs
Installing Certificates . . .


   PSParentPath: Microsoft.PowerShell.Security\Certificate::LocalMachine\Root

Thumbprint                                Subject
----------                                -------
8C048578CA1E43CB577C2A64C3AD3101C64FAFC3  CN=MyCompany Root Certificate...
8C048578CA1E43CB577C2A64C3AD3101C64FAFC3  CN=MyCompany Root Certificate...
Import of Root certificate to Root Store Succeeded!!!!!!


   PSParentPath: Microsoft.PowerShell.Security\Certificate::LocalMachine\CA

Thumbprint                                Subject
----------                                -------
8C048578CA1E43CB577C2A64C3AD3101C64FAFC3  CN=MyCompany Root Certificate...


   PSParentPath: Microsoft.PowerShell.Security\Certificate::LocalMachine\Root

Thumbprint                                Subject
----------                                -------
8C048578CA1E43CB577C2A64C3AD3101C64FAFC3  CN=MyCompany Root Certificate...
Import of Root certificate to CA Store Succeeded!!!!!!


   PSParentPath: Microsoft.PowerShell.Security\Certificate::LocalMachine\CA

Thumbprint                                Subject
----------                                -------
22A3E8B4AEC702987A2CBAEDD42573ED97E5BB53  CN=MyCompany Secure Certifica...
22A3E8B4AEC702987A2CBAEDD42573ED97E5BB53  CN=MyCompany Secure Certifica...
Import of Intermediate certificate to CA Store Succeeded!!!!!!


Removing intermediate container 8cecda9be47c
 ---> 73b2682580ce
Successfully built 73b2682580ce
Successfully tagged local/someprogram:latest

Также обратите внимание, что я запустил установщик SomeProgram на сервере Windows, и он работал правильно, поэтому не должно быть проблем с совместимостью.

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