1

我在 Windows Server 2016(版本 1607)上运行 Docker Enterprise。当我运行时docker-compose up -d --build,Docker 开始构建我的项目,但在第一组下载完成后失败并出现以下错误:

Step 1/4 : FROM microsoft/dotnet:2.1-sdk-nanoserver-1803
2.1-sdk-nanoserver-1803: Pulling from microsoft/dotnet
e46172273a4e: Download complete
1f7d468f830c: Download complete
49e2df75adc8: Download complete
5bf149b5ccf5: Download complete
8b3ace20105f: Download complete
c17187292dad: Download complete
501949accc8a: Download complete
f87c5e7b5f65: Download complete
ERROR: Windows named pipe error: The pipe has been ended. (code: 109)

发生这种情况后,所有其他docker命令都将失败,因为守护程序已停止运行。我可以通过查看“服务”窗口来验证这一点:

在此处输入图像描述

我必须手动重新启动 Docker 服务,然后才能执行更多docker命令。

为什么会发生这种情况,我该如何解决?

这是来自的输出docker version

PS C:\> docker version
Client:
 Version:      17.10.0-ee-preview-3
 API version:  1.33
 Go version:   go1.8.4
 Git commit:   1649af8
 Built:        Fri Oct  6 17:52:28 2017
 OS/Arch:      windows/amd64

Server:
 Version:      17.10.0-ee-preview-3
 API version:  1.34 (minimum version 1.24)
 Go version:   go1.8.4
 Git commit:   b8571fd
 Built:        Fri Oct  6 18:01:48 2017
 OS/Arch:      windows/amd64
 Experimental: true
4

2 回答 2

1

我进行了两项更改,现在我不再收到此错误:

  1. 我意识到我使用的是实验性 Docker 版本 ( 17.10.0-ee-preview-3),所以我回滚到17.06.2-ee-16.
  2. 我了解到主机使用的 Windows Server 版本决定了您可以在容器内使用哪些版本的 Windows Server。请参阅此处:https ://docs.microsoft.com/en-us/virtualization/windowscontainers/deploy-containers/version-compatibility 。我的容器现在使用与我的主机版本匹配的 Windows Server 版本。

我认为上面的第 1 点是关键。

于 2018-09-11T17:41:50.693 回答
0

重新启动Windows后,我遇到了同样的错误。我等了几分钟,然后收到“docker-descktop 正在运行”的消息。现在运行命令,everythink 工作正常。

于 2019-07-21T02:52:34.817 回答