Docker Enterprise демон умирает с "ошибкой именованного канала Windows" во время docker-compose up --build - PullRequest
0 голосов
/ 11 сентября 2018

Я использую 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 завершаются ошибкой, так как демон прекратил работу. Я могу убедиться в этом, посмотрев в окно «Службы»:

enter image description here

Мне нужно вручную перезапустить службу 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

Ответы [ 2 ]

0 голосов
/ 21 июля 2019

У меня такая же ошибка после перезагрузки windows.Я подожду пару минут и получаю сообщение «Docker-descktop работает».Теперь запустите команду, и все работает нормально.

0 голосов
/ 11 сентября 2018

Я сделал два изменения, и теперь я больше не получаю эту ошибку:

  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 выше был ключевым.

...