Powershell无法在Windows Server核心Docker映像内启动

ffdz8vbo  于 2023-03-22  发布在  Docker
关注(0)|答案(3)|浏览(181)

在Windows Server 2019 Datacenter主机上启动Windows docker容器(基本映像mcr.microsoft.com/windows/servercore:ltsc2019)后,我无法在其中启动powershell。
如果我创建一个图像从一个Dockerfile像这样:

FROM mcr.microsoft.com/windows/servercore:ltsc2019

WORKDIR /
WORKDIR /config

ADD /config/run.ps1 /config/run.ps1

CMD ["powershell", "./run.ps1"]

尝试使用docker run -d -it my-image-name运行,我可以在事件日志中看到错误代码3221225781
如果我运行docker run -it my-image-name powershell,我会得到错误failed to resize tty, using default size,然后什么都没有发生。
如果我运行docker run -it my-image-name cmd.exe,我可以进入容器,但在里面运行powershell什么也不做(没有错误消息或任何输出)。
我尝试禁用防病毒软件并在主机上安装VC++可再发行组件,但没有任何变化。
相同的映像对于Windows Server 2019主机(而不是数据中心)上的其他客户运行良好。
是否有任何解决方案或任何其他方法让我尝试和调试问题?数据中心版本会是一个问题吗?

bmp9r5qi

bmp9r5qi1#

FROM mcr.microsoft.com/windows/servercore:ltsc2019

#WORKDIR /
#WORKDIR /config
WORKDIR c:\config
ADD run.ps1 c:\config\run.ps1

ENTRYPOINT ["powershell", "-ExecutionPolicy", "Bypass", "-NoProfile", "-File", "run.ps1"]

如果我正确理解了windows上的docker,路径也应该是windows

i34xakig

i34xakig2#

我假设run.ps1在你的构建环境中的/config文件夹中?如果是这样,你将/config定义为你的工作目录。如果你想将脚本复制到那里,只需使用当前目录。如果你使用相对路径,则相对于你的工作目录。所有后续命令将使用工作目录作为你的基路径。

FROM mcr.microsoft.com/windows/servercore:ltsc2019
WORKDIR /config
COPY /config/run.ps1 .

ENTRYPOINT ["powershell", "-File","run.ps1"]
CMD ["powershell"]
jutyujz0

jutyujz03#

终于弄明白了问题所在:卡巴斯基。
正如在问题中所述,我试图停用它,但这并没有什么不同。什么工作是完全卸载卡巴斯基。

相关问题