我在 Windows server 2016 上使用 docker,我使用“microsoft/windowsservercore:latest”镜像创建了一个容器。 在这张图片上,我已经安装了“Print-Server”角色,但是当我尝试调用“Get-Printer”cmdlet 时,后台处理程序服务出现错误。 这些是用于重现问题的命令:
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 : The spooler service is not reachable. Ensure the spooler service is running. At line:1 char:1 + Get-Printer + ~~~~~~~~~~~ + CategoryInfo : NotSpecified: (MSFT_Printer:ROOT/StandardCimv2/MSFT_Printer) [Get-Printer], CimException + FullyQualifiedErrorId : HRESULT 0x800706ba,Get-Printer In the event viewer i found the error: The Print Spooler service terminated unexpectedly. It has done this 2 time(s).
谁能帮我解决这个问题?
最佳答案
因为 Windows 容器与主机共享相同的内核,所以您不能同时运行假脱机程序。因此,停止并禁用主机的假脱机程序,您就可以在该服务器上的 one 容器上使用假脱机程序。
这里是固定的命令集:
Stop-Service spooler Set-Service spooler -StartupType Disabled 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
关于 Windows 2016 : Docker container error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41565459/