在构建期间使用Windows中的Docker Toolbox无法理解Docker中的卷

时间:2018-07-16 18:00:40

标签: windows docker docker-toolbox

所以我一直遇到的错误是:

COPY failed: stat /mnt/sda1/var/lib/docker/tmp/docker-builderXXXXXXXXX/MyProjectFolder/MyProjectFile.csproj

我已经进行了大量的Google搜索,发现的常见问题是文件存在的路径问题,并且只需对路径进行简单的调整即可解决该问题。就我而言,当我在容器中运行bash并使用/ mnt时,它完全是空的。没有sda1或其他任何东西。

所以我有两个问题:

  1. 在构建过程中的哪一步负责在容器内部预配/安装此docker-builder文件夹?如果我知道发生了什么,我也许可以弄清楚为什么它不起作用。
  2. 假设我无法正常工作,我想我可以自己安装该文件夹,但是docker build命令没有-v开关,因此我也不知道如何完成该工作。

希望有人可以在正确的方向给我一些帮助。我可以看到问题,我只是不知道需要进行哪些配置/设置/处理以使其正常工作。

编辑:在继续四处寻找时,我确实注意到docker build命令的第一行是Sending build context to Docker daemon xxxMB。大小与项目文件夹的大小匹配,因此“ Docker守护程序”将获取适当的文件。我已经尝试过执行RUN find / -name "*.csproj"(以及其他一些搜索)命令,但是它什么也不返回。守护进程负责将上下文装入容器吗?是什么导致(无提示)失败?

1 个答案:

答案 0 :(得分:1)

因此,一旦我注意到“ Docker守护程序”,我便开始使用该线程并了解了ADD命令,该命令似乎是将构建上下文复制到容器的命令。我在Dockerfile中的任何地方都没有看到它,因此尝试了一下,突然间我可以访问容器中的项目文件。我调整了失败的COPY命令以使用此路径,并且一切都按预期构建。我不确定为什么Visual Studio项目模板不为我执行此操作,而是执行任何操作。

很高兴能克服这一障碍。