URL Docker Rewrite 2.0 安装失败
URL Rewrite 2.0 installation fails on Docker
我正在尝试使用此 Dockerfile 安装 URL Rewrite 2.0:
FROM microsoft/aspnet:4.6.2
WORKDIR /inetpub/wwwroot
COPY obj/Docker/publish .
ADD https://download.microsoft.com/download/C/9/E/C9E8180D-4E51-40A6-A9BF-776990D8BCA9/rewrite_amd64.msi /install/rewrite_amd64.msi
RUN net start MSIServer
RUN msiexec.exe /i c:\install\rewrite_amd64.msi /quiet /passive /qn /L*v "C:\package.log"
当我构建容器镜像时,我看到了这条错误消息:
无法访问 Windows 安装程序服务。如果未正确安装 Windows 安装程序,就会发生这种情况。请联系您的支持人员寻求帮助。
查看 运行 容器后的 package.log,我看到了这个:
SI (c) (30:A4) [08:32:10:438]: Failed to connect to server. Error: 0x80040150
SI (c) (30:A4) [08:32:10:438]: Note: 1: 2774 2: 0x80040150: 2774 2: 0x80040150
在 运行 容器上执行 net start msiserver
returns 一条消息表明服务已经启动,Google 说 0x80040150 可能是读取注册表的问题。
是否希望以这种方式安装 URL Rewrite 应该有效,还是我需要以某种方式提升权限?
更新:运行 运行 容器上的相同 msiexec
命令成功安装URL重写。
感谢this article,我终于弄明白了。使用 PowerShell 到 运行 msiexec
和适当的开关可以工作。奇怪的是,它在尝试使用 PowerShell 下载 MSI 时抛出了 "Unable to connect to the remote server",所以我求助于使用 ADD
.
这是我的 Dockerfile 的相关部分:
WORKDIR /install
ADD https://download.microsoft.com/download/C/9/E/C9E8180D-4E51-40A6-A9BF-776990D8BCA9/rewrite_amd64.msi rewrite_amd64.msi
RUN Write-Host 'Installing URL Rewrite' ; \
Start-Process msiexec.exe -ArgumentList '/i', 'rewrite_amd64.msi', '/quiet', '/norestart' -NoNewWindow -Wait
我正在尝试使用此 Dockerfile 安装 URL Rewrite 2.0:
FROM microsoft/aspnet:4.6.2
WORKDIR /inetpub/wwwroot
COPY obj/Docker/publish .
ADD https://download.microsoft.com/download/C/9/E/C9E8180D-4E51-40A6-A9BF-776990D8BCA9/rewrite_amd64.msi /install/rewrite_amd64.msi
RUN net start MSIServer
RUN msiexec.exe /i c:\install\rewrite_amd64.msi /quiet /passive /qn /L*v "C:\package.log"
当我构建容器镜像时,我看到了这条错误消息:
无法访问 Windows 安装程序服务。如果未正确安装 Windows 安装程序,就会发生这种情况。请联系您的支持人员寻求帮助。
查看 运行 容器后的 package.log,我看到了这个:
SI (c) (30:A4) [08:32:10:438]: Failed to connect to server. Error: 0x80040150
SI (c) (30:A4) [08:32:10:438]: Note: 1: 2774 2: 0x80040150: 2774 2: 0x80040150
在 运行 容器上执行 net start msiserver
returns 一条消息表明服务已经启动,Google 说 0x80040150 可能是读取注册表的问题。
是否希望以这种方式安装 URL Rewrite 应该有效,还是我需要以某种方式提升权限?
更新:运行 运行 容器上的相同 msiexec
命令成功安装URL重写。
感谢this article,我终于弄明白了。使用 PowerShell 到 运行 msiexec
和适当的开关可以工作。奇怪的是,它在尝试使用 PowerShell 下载 MSI 时抛出了 "Unable to connect to the remote server",所以我求助于使用 ADD
.
这是我的 Dockerfile 的相关部分:
WORKDIR /install
ADD https://download.microsoft.com/download/C/9/E/C9E8180D-4E51-40A6-A9BF-776990D8BCA9/rewrite_amd64.msi rewrite_amd64.msi
RUN Write-Host 'Installing URL Rewrite' ; \
Start-Process msiexec.exe -ArgumentList '/i', 'rewrite_amd64.msi', '/quiet', '/norestart' -NoNewWindow -Wait