当我尝试安装一个应用程序在我dockerfile
一个服务,我收到表示installutil.exe
是显示安装服务时的用户名对话框中的错误。起初,我想在主机的域名使用的帐户,但它似乎对码头工人Windows不支持主机的网络设置,可在Linux上。
为了解决这个问题,我首先创建一个管理员用户,然后调用installutil用的用户名和密码参数。这给了错误
帐户名无效或者不存在,或者密码对于指定的帐户名无效。
FROM microsoft/dotnet-framework
SHELL ["powershell.exe", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'Continue'; $verbosePreference='Continue';"]
RUN New-LocalUser -Name "testuser" -Password (ConvertTo-SecureString -AsPlainText "Stackoverflow1234!" -Force) -FullName "Test.User" -Description "LocalAdministrator"
RUN Add-LocalGroupMember -Group administrators -Member adapteruser -Verbose
RUN New-Item -Path "C:/dev" -ItemType directory
WORKDIR /dev
COPY ".\dev" "C:\dev"
RUN "C:/Windows/Microsoft.NET/Framework64/v4.0.30319/InstallUtil.exe" /username=testuser /password=Stackoverflow1234! /LogToConsole=true /ShowCallStack myapp.exe
我也试过:
RUN net user /add testuser Stackoverflow1234!
RUN net localgroup administrators testuser /add
RUN net user
我已经审阅了类似的问题:Dockerizing a Windows Service Docker for Windows
若要使用新的用户,我不得不添加到用户名(本地计算机)“\”:
RUN "C:/Windows/Microsoft.NET/Framework64/v4.0.30319/InstallUtil.exe" /username=.\testuser /password=Stackoverflow1234! /LogToConsole=true /ShowCallStack myapp.exe