如何在DockerFile中运行Powershell脚本?

332nm8kg  于 2023-06-21  发布在  Docker
关注(0)|答案(5)|浏览(157)

我在dockerfile中尝试了下面的命令,但它没有运行script.so,还有其他命令可以在dockerfile中运行ps脚本吗?
添加Windows.ps1。
CMD powershell.\Windows.ps1;

rlcwz9us

rlcwz9us1#

要运行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
4zcjmb1e

4zcjmb1e3#

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

izkcnapc

izkcnapc4#

我有一个类似的问题,我解决了使用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

goucqfw6

goucqfw65#

我试过这个了,很有效,

FROM mcr.microsoft.com/powershell 
WORKDIR /app
COPY . /app
CMD ["pwsh", "-File", "<your_powershellscript>"]

这里我们需要提到的可执行文件为pwsh而不是powershell,为您的参考附加Github代码链接:这里(行:39)这里(行:56)

相关问题