docker for windows如何决定使用哪个图像

时间:2018-02-15 23:49:13

标签: docker docker-windows

我有两个构建服务器构建docker容器,一个Windows10-1709操作系统和Server2016-LTS,它们都构建基于microsoft / dotnet-framework的容器:最新

然后,我们的CD系统将这些容器部署到测试Server2016-LTS主机。主机是VM,并在每次部署之前还原到检查点。检查点有最新的microsoft / dotnet-framework:最新图像被拉出并存储在其中,检查点今天更新。

当Server2016-LTS构建服务器的容器部署时,它只是拉动我们的部分图像,并在60秒内启动并运行。

当Windows10-1709构建服务器的映像部署时,部署包含~10Mb代码的映像需要大约10分钟。这是一个不同的基础图像(我假设一个基于1709)。拉完成后,图像无法运行,并出现以下错误:

  

2018-02-15T23:15:57.3170769Z无法注册图层:重新执行错误:退出状态1:输出:time =“2018-02-15T23:15:48Z”level = error msg =“hcsshim: :ImportLayer失败的Win32:?系统无法找到指定的文件(0X2)layerId的= \\?\ C:\ ProgramData \搬运工\ windowsfilter \ d7defcca1ec427b77fca7528840e442a596598002140b30afb4b5bb52311c8c6香味= 1个夹= C:\的Windows \ TEMP \ hcs025707919"

     

2018-02-15T23:15:57.3171830Z hcsshim :: ImportLayer在Win32中失败:系统找不到指定的文件。 (0x2)layerId = \?\ C:\ ProgramData \ docker \ windowsfilter \ d7defcca1ec427b77fca7528840e442a596598002140b30afb4b5bb52311c8c6 flavor = 1 folder = C:\ Windows \ TEMP \ hcs025707919

我的假设是所有的Microsoft / dotnet-framework:最新的图像都是LTS,你必须指定1709才能获得该基础。

那么为什么我的两个docker镜像在docker文件中都有相同的FROM,它们的行为方式如此不同?

感谢。

0 个答案:

没有答案