我在dockerfile中尝试了下面的命令,但它没有运行script.so,还有其他命令可以在dockerfile中运行ps脚本吗?添加Windows.ps1。CMD powershell.\Windows.ps1;
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
yfwxisqw2#
可以使用RUN。可以使用以下命令运行poweshell命令
RUN
RUN powershell -Command Add-WindowsFeature Web-Server
参考https://learn.microsoft.com/en-us/dotnet/standard/containerized-lifecycle-architecture/design-develop-containerized-apps/set-up-windows-containers-with-powershell
4zcjmb1e3#
是的,还有一个命令。ENTRYPOINT ["executable", "param1", "param2"]是一个命令,根据文档,它将使容器在启动时运行可执行文件。它可以与CMD一起使用。
ENTRYPOINT ["executable", "param1", "param2"]
CMD
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
goucqfw65#
我试过这个了,很有效,
FROM mcr.microsoft.com/powershell WORKDIR /app COPY . /app CMD ["pwsh", "-File", "<your_powershellscript>"]
这里我们需要提到的可执行文件为pwsh而不是powershell,为您的参考附加Github代码链接:这里(行:39)这里(行:56)
pwsh
powershell
5条答案
按热度按时间rlcwz9us1#
要运行PS1脚本文件,您可以执行以下操作:
您还可以:
yfwxisqw2#
可以使用
RUN
。可以使用以下命令运行poweshell命令
参考https://learn.microsoft.com/en-us/dotnet/standard/containerized-lifecycle-architecture/design-develop-containerized-apps/set-up-windows-containers-with-powershell
4zcjmb1e3#
是的,还有一个命令。
ENTRYPOINT ["executable", "param1", "param2"]
是一个命令,根据文档,它将使容器在启动时运行可执行文件。它可以与CMD
一起使用。izkcnapc4#
我有一个类似的问题,我解决了使用shell指令。
编辑:刚刚注意到上面的答案比我的命令好一点。支持!https://stackoverflow.com/a/48804143/190831
goucqfw65#
我试过这个了,很有效,
这里我们需要提到的可执行文件为
pwsh
而不是powershell
,为您的参考附加Github代码链接:这里(行:39)这里(行:56)