Docker Windows版本失败并显示错误:"系统找不到指定的路径"

nod*_*hip 12 windows docker docker-for-windows

我尝试在Docker Windows上创建目录连接以创建8.3.但它失败了,下面的错误信息.

D:\data\docker\sample>docker build -t sample .
Sending build context to Docker daemon  1.272GB
Step 1/4 : FROM microsoft/windowsservercore
 ---> 2cddde20d95d
Step 2/4 : RUN fsutil.exe behavior set disable8dot3 0
 ---> Running in ec6e7cc09ec6
The registry state is now: 0 (Enable 8dot3 name creation on all volumes).
 ---> 53805bc21858
Removing intermediate container ec6e7cc09ec6
Step 3/4 : RUN mklink /J "C:\PROGRA~1" "C:\Program Files"
 ---> Running in 2116f2070e6a
Junction created for C:\PROGRA~1 <<===>> C:\Program Files
re-exec error: exit status 1: output: time="2017-10-03T16:15:54+09:00" level=error msg="hcsshim::ImportLayer failed in Win32: The system cannot find the path specified. (0x3) layerId=\\?\C:\ProgramData\Docker\windowsfilter\5234d5f7cd7c2669db1818d9227a4be2822eeb72fc30071a495de78cd578b9f3 flavour=1 folder=C:\WINDOWS\TEMP\hcs088640839"
hcsshim::ImportLayer failed in Win32: The system cannot find the path specified. (0x3) layerId=\\?\C:\ProgramData\Docker\windowsfilter\5234d5f7cd7c2669db1818d9227a4be2822eeb72fc30071a495de78cd578b9f3 flavour=1 folder=C:\WINDOWS\TEMP\hcs088640839
Run Code Online (Sandbox Code Playgroud)

Dockerfile如下:

FROM microsoft/windowsservercore
RUN fsutil.exe behavior set disable8dot3 0
RUN mklink /J "C:\PROGRA~1" "C:\Program Files"
CMD [ "powershell" ]
Run Code Online (Sandbox Code Playgroud)

如何在Docker Windows上创建目录juction?

jsc*_*ter 19

我猜你的问题实际上与创建一个目录连接无关(注意你的构建完成了那一步),但是与超出docker容器的基本大小有关(我看到你从windowsservercore中提取,这是关于10GB,网页浏览告诉我默认的容器基本大小是10GB).

尝试通过添加此json将docker守护程序配置中的大小更改为20GB:

"storage-opts": [
  "size=20G"
]
Run Code Online (Sandbox Code Playgroud)

守护进程配置

我遇到了相同的错误消息,尝试了各种故障排除方法,并使用该守护程序设置解决了该问题.