Docker卷挂载Windows容器

时间:2019-03-14 05:16:42

标签: docker dockerfile

尝试在Windows docker容器中装载卷时出现以下错误。

===============
C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error response from daemon: container 1234567ebcdh encountered an error during Start: failure in a Windows system call: The compute system exited unexpectedly. (0xc0370106)
================

我已经提到了docker文件中c:/app的几乎所有可能的组合,但是在没有-v选项的情况下启动容器本身时仍然出错。

-----------
FROM microsoft/windowsservercore
SHELL ["powershell", "-Command"]
WORKDIR /application
COPY . .
VOLUME C:/application
CMD cmd
-----------
  • 操作系统:Windows 10
  • Docker:适用于Windows 2.0.0的Docker

如果您知道这里出了什么问题?

1 个答案:

答案 0 :(得分:0)

此后似乎是docker/for-win issue 676includes

  

我也遇到了这个确切的问题:

docker: Error response from daemon: container XYZ encountered an error during Start: failure in a Windows system call: The compute system exited unexpectedly. (0xc0370106).
     

我为我的案件找到了两种解决方案:

     

通过减少历史记录中的层数,我能够成功构建并运行映像。 (对我来说,这个数字在历史上最多为37层。)(如果您的dockerfile基于第二个dockerfile,则可能需要减少第二个dockerfile中的步骤数。)

     
      
  • 如何调试:通过将步骤数减少一​​半,直到运行图像,然后重新添加步骤,直到我发现历史记录在拆分图像之前可以执行多少步,我才能进行调试。
  •   
  • 通过确保根映像是Windowsservercore:1709的特定版本(特别是1709的10.0.16299.904_en-us版本),我能够成功构建和运行映像而不会减少层数。似乎不再具有可拉动性;但是,它也可能与最新版本的Windowsservercore:1709一起使用,我没有尝试过。)
      我没有调试它,而是靠运气发现了它。
  •   

注意:同一问题报告了mounting can be problematic