找不到Dockerfile,请确保在项目文件旁边有一个名为'Dockerfile'的Dockerfile。

15

我已经将Docker文件从*.csproj文件夹移动到.sln文件夹中,即向上一级。

当我尝试使用Visual Studio 2019构建docker时,出现以下错误,但是相同的项目可以通过命令提示符进行docker构建。不确定是什么原因导致Visual Studio 2019抛出此错误。希望能提供任何有助于解决此错误的帮助。

错误:找不到Dockerfile。请确保在项目文件旁边有一个名为'Dockerfile'的Docker文件。

来自VS-2019的错误

命令提示符中的Docker构建工作:

在命令提示符中工作


Docker构建命令是否从Visual Studio的同一目录运行?由于您移动了文件,这是我猜测的。 - C.Nivs
是的,如果我将dockerfile保留在同一文件夹中,docker build可以正常工作。但如果我将其移动到解决方案文件级别,如何确保它仍然能够正常工作呢? - alphacoder
2个回答

36

您可以使用DockerfileFile属性指定 Dockerfile 的路径。

  1. 以管理员身份启动 Visual Studio 2019(在我这种情况下必要)
  2. 编辑目标 .csproj 文件
  3. 添加 DockerfileFile 属性并设置相对路径(在我这种情况下为父文件夹)
  4. 保持 DockerfileContext 不变。

示例 csproj 配置:

<PropertyGroup>
    <TargetFramework>netcoreapp3.0</TargetFramework>
    <UserSecretsId>secretstuff</UserSecretsId>
    <DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
    <DockerfileContext>.</DockerfileContext>
    <DockerfileFile>..\Dockerfile</DockerfileFile>    
    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
</PropertyGroup>
  1. 使用Docker在调试模式下启动项目(F5)。

2
谢谢!我遇到了同样的问题,这个解决方案对我很有效。错误描述有误导性,它应该指出找不到Dockerfile,请确保csproj文件指向dockerfile! - Bahman

-3
在 VS 中右键单击项目,选择“添加”,然后选择“Docker 支持”。 VS 将添加文件、配置并开始下载所需的 Docker 镜像文件。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接