#docker #dockerfile
#docker #dockerfile
Вопрос:
При попытке смонтировать том в контейнере Windows docker я получаю следующую ошибку.
===============
C:Program FilesDockerDockerResourcesbindocker.exe: Error response from daemon: container 1234567ebcdh encountered an error during Start: failure in a Windows system call: The compute system exited unexpectedly. (0xc0370106)
================
Я упомянул почти все возможные комбинации c:/app
в файле docker, но все еще получаю ошибку при запуске самого контейнера без -v
опции.
-----------
FROM microsoft/windowsservercore
SHELL ["powershell", "-Command"]
WORKDIR /application
COPY . .
VOLUME C:/application
CMD cmd
-----------
- Операционная система: Windows 10
- Docker: Docker для Windows 2.0.0
Если у вас есть какие-либо идеи, что здесь пошло не так?
Ответ №1:
Похоже, за этим следует docker/for-win
проблема 676, которая включает:
У меня также была эта точная проблема:
docker: Error response from daemon: container XYZ encountered an error during Start: failure in a Windows system call: The compute system exited unexpectedly. (0xc0370106).
Я нашел 2 решения для моего случая:
Я смог успешно создать и запустить образ, уменьшив количество слоев в истории. (Для меня это число составило максимум 37 слоев за всю историю.) (Если ваш файл dockerfile основан на 2-м файле dockerfile, возможно, потребуется уменьшить количество шагов во 2-м файле dockerfile.)
- Как отлаживать: я смог отладить это, сократив количество шагов вдвое до запуска образа, затем повторно добавляя шаги, пока не обнаружил, сколько шагов может быть в истории до разрыва образа.
- Я смог успешно создать и запустить образ без уменьшения количества слоев, убедившись, что корневым образом была определенная версия windowsservercore: 1709 (в частности, версия 1709 10.0.16299.904_en-us, которая, похоже, больше не может извлекаться; однако она также может работать с последней версией windowsservercore: 1709, я не пробовал).
Я не отлаживал это, я обнаружил это по слепой случайности.
Примечание: та же проблема сообщает, что смонтирование может быть проблематичным.
Комментарии:
1. да, вон, я уже сократил количество слоев, и dockerfile состоит только из базовых команд. Сборка прошла успешно, и изображение создано, но когда я пытаюсь запустить контейнер с тем же изображением, он завершается ошибкой, указанной выше.
2. Я также пробовал использовать изображение windowsservercore: 1709, но получаю ту же ошибку при попытке запустить контейнер.
3. @jibin087 какая у вашего хоста версия Windows (ввод
winver
в cmd)?4. Моя версия операционной системы — Windows 10, версия 1709
5. @jibin087 Именно так я и думал. Возможно, что более свежее ядро хоста (1803/1809) устраняет эту проблему.