docker - Docker 卷挂载 windows 容器
问题描述
尝试在 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)
================
我已经提到了c:/app
docker 文件中几乎所有可能的组合,但是在没有-v
选项的情况下启动容器本身时仍然出现错误。
-----------
FROM microsoft/windowsservercore
SHELL ["powershell", "-Command"]
WORKDIR /application
COPY . .
VOLUME C:/application
CMD cmd
-----------
- 操作系统:Windows 10
- Docker:适用于 Windows 2.0.0 的 Docker
如果您知道这里出了什么问题?
解决方案
这似乎是在docker/for-win
问题 676之后出现的,其中包括:
我也有这个确切的问题:
docker: Error response from daemon: container XYZ encountered an error during Start: failure in a Windows system call: The compute system exited unexpectedly. (0xc0370106).
我为我的案例找到了 2 个解决方案:
通过减少历史中的层数,我能够成功地构建和运行图像。(对我来说,这个数字恰好是历史上最多 37 层。)(如果您的 dockerfile 基于第二个 dockerfile,您可能需要减少第二个 dockerfile 中的步骤数。)
- 如何调试:我可以通过将步骤数减半直到图像运行,然后重新添加步骤,直到我发现历史记录在破坏图像之前可能有多少步骤来进行调试。
- 通过确保根映像是 windowsservercore:1709 的某个版本(特别是 1709 的 10.0.16299.904_en-us 版本,这似乎不是不再是可拉的;但是,它也可能适用于最新版本的 windowsservercore:1709,我还没有尝试过)。
我没有调试这个,我是靠运气发现的。
注意:相同的问题报告安装可能有问题。
推荐阅读
- android - 如何在没有平面的情况下在相对于相机的相对位置创建对象?
- mysql - 当 SP 的实际代码在 10 分钟内直接执行时,为什么在超时开始之前存储过程永远不会返回?
- java - 项目单击侦听器不适用于自动滚动 Recyclerview
- php - 在为 cpt 创建自定义搜索时需要帮助
- node.js - 如何在 Dialogflow 的承诺中通知用户 POST 失败?
- sql-server - SqlException:“必须声明标量变量”在执行存储过程
- c# - 以前登录有效时,用户“ ”登录失败
- javascript - Cordova 文件插件无法删除文件
- c++ - Tensorflow Lite arm64 错误:无法转换'const int8x8_t?
- linkedin - 营销开发者平台访问请求被拒绝