我在Windows服务器2016年使用docker,我已经创build了一个容器使用“微软/ windowsservercore:最新”的形象。 在这个图像上,我已经安装了“打印服务器”angular色,但是当我尝试调用“Get-Printer”cmdlet时,我获得了后台打印程序服务的错误。 这些是用来重新创build问题的命令:
docker run -d --name testspoolererror1 microsoft/windowsservercore:latest ping -t localhost docker exec -it testspoolererror1 powershell Install-WindowsFeature Print-Server Set-Service spooler -StartupType Automatic Start-Service spooler Get-Service spooler Get-Printer
这是当我收到错误:
Get-Printer:假脱机程序服务无法访问。 确保假脱机程序服务正在运行。 在行:1 char:1 + Get-Printer + ~~~~~~~~~~~ + CategoryInfo:NotSpecified 🙁 MSFT_Printer:ROOT / StandardCimv2 / MSFT_Printer)[Get-Printer],CimException + FullyQualifiedErrorId:HRESULT 0x800706ba, Get-Printer在事件查看器中,我发现错误:Print Spooler服务意外终止。 它已经完成了这2次(s)。
任何人都可以帮我解决这个问题吗?
我很抱歉听到你有这个问题,我会很高兴做我能帮你解决的:)
为了彻底,我通过运行以下命令自己尝试了这个:
docker run -it microsoft/windowsservercore:latest powershell
(现在从容器内运行PowerShell)
Install-WindowsFeature Print-server Set-Service spooler -StartupType Automatic Start-Service spooler Get-Service spooler Get-Printer
我能够在我的系统上运行这些,没有错误。 所以这是一个开始。
现在,从你的错误看起来后台打印程序服务甚至没有启动。 当您运行Get-Service spooler
时,您会看到什么? 你会尝试在系统上运行这些命令,就像我上面列出的那样,然后报告结果吗?
另外,为了澄清,当你从容器中ping本地主机时你想做什么? 你想ping你的容器主机?
另外,如果您正在寻找有关Windows上的容器网络工作方式的背景信息,请点击此处: https : //docs.microsoft.com/en-us/virtualization/windowscontainers/manage-containers /容器联网
– Kallie B.(微软网络团队项目经理)
docker运行的网络(默认)与主机不是同一个网络。
从容器内ping本地主机不是在做你认为它在做的事情。
了解Docker网络如何作为步骤1。