При выполнении параллельных сборок docker появляется сообщение об ошибке -> Ошибка при удалении промежуточного контейнера <id>: контейнер <id>: сбой драйвера "windowsfilter" - PullRequest
1 голос
/ 08 мая 2020

Выполнение параллельных сборок docker иногда дает сообщение об ошибке:

Error removing intermediate container <id>: container <id>: driver
"windowsfilter" failed to remove root filesystem: hcsshim::GetComputeSystems:
Access is denied.

Примечание: <id> - это значение ha sh

Например - скажем, появляется это сообщение об ошибке в конце шага 3 в файле docker. Затем, в конце каждой последующей команды в файле докеров, он повторно пытается удалить промежуточный контейнер, который не удалось удалить на предыдущем шаге (ах), вместе с удалением любого контейнера из текущего шага. Иногда может получиться. В любом случае - это не останавливает процесс сборки. Однако, если процесс не может удалить контейнер к концу процесса сборки, это приводит к контейнеру (неактивному) и образу (висящему), что приводит к потере дискового пространства.

  1. Что в чем причина такого поведения?
  2. Я знаю, что docker container prune -f и docker image prune -f можно использовать для очистки контейнеров и изображений соответственно. Но есть ли другое решение для устранения этого сообщения об ошибке и неактивного контейнера / зависшего образа во время параллельных сборок?
  3. Есть ли у docker какие-либо ограничения относительно запуска параллельных сборок?

1 Ответ

0 голосов
/ 21 мая 2020

Попробуйте эту ветку здесь: https://github.com/moby/moby/issues/36218 Кажется, что один из активных драйверов может предотвратить переименование / удаление файлов, например Cisco AMP (ImmunetProtectDriver). Вы можете проверить и отключить его или любые другие. Еще одно предложение в этой ветке заключалось в том, чтобы запускать Docker без флагов -it, если они вам действительно не нужны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...