如何在DockerFile中运行Powershell脚本?

时间:2017-11-06 07:08:45

标签: docker dockerfile

我在dockerfile中尝试以下命令,但它没有运行脚本。还有其他命令用于在dockerfile中运行ps脚本吗?

ADD Windowss.ps1。

CMD powershell。\ Windowss.ps1;

4 个答案:

答案 0 :(得分:6)

要运行PS1脚本文件,您可以执行以下操作:

SHELL ["cmd", "/S", "/C"]    
RUN powershell -noexit "& ""C:\Chocolatey\lib\chocolatey.0.10.8\tools\chocolateyInstall.ps1"""

你也可以这样做:

SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
WORKDIR C:\
RUN .\install_pfx.ps1

答案 1 :(得分:2)

您可以使用RUN

您可以使用

运行poweshell命令
RUN powershell -Command Add-WindowsFeature Web-Server

参考https://docs.microsoft.com/en-us/dotnet/standard/containerized-lifecycle-architecture/design-develop-containerized-apps/set-up-windows-containers-with-powershell

答案 2 :(得分:0)

是的,还有另一个命令。 ENTRYPOINT ["executable", "param1", "param2"]是一个命令,根据documentation,它将使容器在其开始时运行可执行文件。它可以与CMD一起使用。

答案 3 :(得分:0)

我有一个类似的问题,我使用 shell 指令解决了这个问题。

FROM mcr.microsoft.com/windows/servercore:20H2 AS PS
SHELL ["powershell"]
RUN Write-Host "Hello from docker! Today is $(Get-Date)"

编辑:刚刚注意到上面的答案比我的命令要好一些。点赞吧! https://stackoverflow.com/a/48804143/190831