所以我一直遇到的错误是:
COPY failed: stat /mnt/sda1/var/lib/docker/tmp/docker-builderXXXXXXXXX/MyProjectFolder/MyProjectFile.csproj
我已经进行了大量的Google搜索,发现的常见问题是文件存在的路径问题,并且只需对路径进行简单的调整即可解决该问题。就我而言,当我在容器中运行bash并使用/ mnt时,它完全是空的。没有sda1或其他任何东西。
所以我有两个问题:
docker build
命令没有-v开关,因此我也不知道如何完成该工作。希望有人可以在正确的方向给我一些帮助。我可以看到问题,我只是不知道需要进行哪些配置/设置/处理以使其正常工作。
编辑:在继续四处寻找时,我确实注意到docker build
命令的第一行是Sending build context to Docker daemon xxxMB
。大小与项目文件夹的大小匹配,因此“ Docker守护程序”将获取适当的文件。我已经尝试过执行RUN find / -name "*.csproj"
(以及其他一些搜索)命令,但是它什么也不返回。守护进程负责将上下文装入容器吗?是什么导致(无提示)失败?
答案 0 :(得分:1)
因此,一旦我注意到“ Docker守护程序”,我便开始使用该线程并了解了ADD命令,该命令似乎是将构建上下文复制到容器的命令。我在Dockerfile中的任何地方都没有看到它,因此尝试了一下,突然间我可以访问容器中的项目文件。我调整了失败的COPY命令以使用此路径,并且一切都按预期构建。我不确定为什么Visual Studio项目模板不为我执行此操作,而是执行任何操作。
很高兴能克服这一障碍。