Windows 2016 : Docker container error

标签 windows docker windows-server-2016

我在 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/

相关文章:

docker - 在 Docker Compose 中更改 Redis 端口不起作用

Docker 撰写 : Stop "depends_on" service when "parent" finishes

audio - 如何在 Mac OS Yosemite 上的 Docker 容器中播放声音

java - 为什么 CLASSPATH 对于 Python 失败但对于 RazorSQL 却有效?

linux - Weblogic:混合 Windows 和 Linux 域

windows - 为什么我在 Windows 上运行 Perl one liner 时出现“找不到字符串终止符 "'”错误

windows - 如何禁用自动配对引号

Windows Server 2016 上的 Docker 数据中心?

asp.net - 使用 Interop 生成 `docx` 在终止 RDC 时不起作用

php - ffmpeg.exe 在本地 Windows 系统上运行。但不适用于在线 linux 服务器