Docker 企业守护进程在 docker-compose up --build 期间以 "Windows named pipe error" 结束
Docker Enterprise daemon dies with "Windows named pipe error" during docker-compose up --build
我 运行宁 Docker Enterprise Windows Server 2016(版本 1607)。当我 运行 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
命令都会失败,因为守护程序已停止 运行ning。我可以通过查看服务来验证这一点 window:
我必须手动重新启动 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
我做了两项更改,现在我不再收到此错误:
- 我意识到我使用的是实验性 Docker 版本 (
17.10.0-ee-preview-3
),所以我回滚到 17.06.2-ee-16
。
- 我了解到主机使用的 Windows 服务器版本决定了您可以在容器内使用哪个版本的 Windows 服务器。参见此处:https://docs.microsoft.com/en-us/virtualization/windowscontainers/deploy-containers/version-compatibility。我的容器现在使用与我的主机版本相匹配的 Windows 服务器版本。
我认为上面的第 1 点是关键。
重启后出现同样的错误windows。我等了几分钟,收到 "docker-descktop is running" 的消息。现在 运行 命令和一切正常。
我 运行宁 Docker Enterprise Windows Server 2016(版本 1607)。当我 运行 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
命令都会失败,因为守护程序已停止 运行ning。我可以通过查看服务来验证这一点 window:
我必须手动重新启动 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
我做了两项更改,现在我不再收到此错误:
- 我意识到我使用的是实验性 Docker 版本 (
17.10.0-ee-preview-3
),所以我回滚到17.06.2-ee-16
。 - 我了解到主机使用的 Windows 服务器版本决定了您可以在容器内使用哪个版本的 Windows 服务器。参见此处:https://docs.microsoft.com/en-us/virtualization/windowscontainers/deploy-containers/version-compatibility。我的容器现在使用与我的主机版本相匹配的 Windows 服务器版本。
我认为上面的第 1 点是关键。
重启后出现同样的错误windows。我等了几分钟,收到 "docker-descktop is running" 的消息。现在 运行 命令和一切正常。