Как Docker для Windows решает, какое изображение использовать

У меня есть два сервера сборки, создающих Docker-контейнеры, ОС Windows10-1709 и Server2016-LTS, оба они строят контейнеры на основе Microsoft/ DotNet-Framework: последние

Эти контейнеры затем развертываются нашей системой CD на тестовом хосте Server2016-LTS. Хост является виртуальной машиной и восстанавливается до контрольной точки перед каждым развертыванием. Контрольная точка имеет новейшую платформу microsoft/dotnet: в ней извлечено и сохранено последнее изображение, контрольная точка обновлена ​​сегодня.

При развертывании контейнера с сервера сборки Server2016-LTS он просто извлекает нашу часть образа и запускается менее чем за 60 секунд.

При развертывании образа с сервера сборки Windows10-1709 развертывание образа, содержащего ~10 МБ кода, занимает ~10 минут. Это тянуть другое базовое изображение (я предполагаю, что на основе 1709). После завершения извлечения образ не запускается со следующей ошибкой:

2018-02-15T23: 15: 57.3170769Z не удалось зарегистрировать слой: ошибка повторного выполнения: состояние выхода 1: выход: время ="2018-02-15T23:15:48Z" уровень = ошибка msg="hcsshim::ImportLayer не удалось в Win32: система не может найти указанный файл. (0x2) layerId=\\?\C:\ProgramData\docker\windowsfilter\d7defcca1ec427b77fca7528840e442a596598002140b30afb4b5bb52311c8c6 flavour=1 folder = C: \ Windows \ T0P

2018-02-15T23: 15: 57.3171830Z hcsshim:: ImportLayer не удалось в Win32: система не может найти указанный файл. (0x2) layerId = \? \ C: \ ProgramData \ docker \ windowsfilter \ d7defcca1ec427b77fca7528840e442a596598002140b30afb4b5bb52311c8c6 flavour = 1 папка =C:\Windows\TEMP\hcs025707919

Я предположил, что все Microsoft/dotnet-framework: последние образы - LTS, и вам нужно указать 1709, чтобы получить эту базу.

Так почему же мои два образа докера, которые имеют одинаковый FROM в своем файле докера, ведут себя так по-разному?

Благодарю.

0 ответов

Другие вопросы по тегам