gpt4 book ai didi

在 Visual Studio 2017 中打开解决方案时无法构建 Docker 镜像

转载 作者:行者123 更新时间:2023-12-01 11:50:17 26 4
gpt4 key购买 nike

当我尝试从我的任何 .NET 核心项目构建 Docker 镜像时,如果项目的解决方案文件在 Visual Studio 2017 中打开,则 Docker 构建过程在尝试创建构建上下文时立即失败:

错误:处理 tar 文件时出错(退出状态 1):意外的 EOF

如果我关闭解决方案,Docker 构建就会成功。我假设 VS 2017 在这里进行了某种文件锁定,这会干扰 Docker 创建构建上下文。有什么我可以添加到 .dockerignore 文件以允许图像构建在解决方案文件打开时运行?

我以前在 project.json 风格的解决方案中没有遇到这个问题 - 我在 2017 年将这些解决方案升级到新的 .csproj 格式后才开始遇到这个问题.

最佳答案

经过一些实验后,我注意到这与我的“SQL Server”数据库项目 (.csproj) 相关联

Visual Studio 往往会锁定某些文件,这会导致 docker 构建过程出现问题,可以通过关闭 visual studio,然后使用 powershell 并为您的 dockerfile 手动运行 docker build 命令来确认这一点。

在它开始执行你的 dockerfile 之前似乎还添加了一个额外的过程,首先将所有项目文件复制到缓存中,无论你是否需要这些文件,或者即使你有意指定要复制的那些文件直接在您的 dockerfile 脚本中。

您的解决方案目录(未显示在 visual studio 文件资源管理器中)应该已经自动创建了 .dockerignore 文件,visual studio 锁定的任何文件都可以安全地添加到该文件中,对于我的示例,我将以下两行添加到让构建再次运行;

**/*.dbmdl

**/*.jfm

乍一看,由此列出的错误消息不容易解释,它将解决方案中的所有文件都列为有问题,而实际上它遇到的第一个问题会导致大量错误。

还值得注意的是,某些病毒检查程序也可能会导致类似的错误,您需要在这些程序中创建异常(exception)规则。

关于在 Visual Studio 2017 中打开解决方案时无法构建 Docker 镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48529766/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com