【问题标题】:No Dockerfile could be found. Please make sure you have a Dockerfile called 'Dockerfile' adjacent to the project file找不到 Dockerfile。请确保在项目文件旁边有一个名为“Dockerfile”的 Dockerfile
【发布时间】:2021-06-01 19:43:12
【问题描述】:

我已将 docker 文件从 *.csproj 文件夹移至 .sln 文件夹,即上一层。 当我尝试使用 Visual Studio 2019 进行 docker build 时,出现以下错误,但相同的项目 docker build 在命令提示符下工作。不确定是什么导致 Visual Studio 2019 抛出此错误。解决此错误的任何帮助都会有所帮助。

Error: No Dockerfile could be found. Please make sure you have a Dockerfile called 'Dockerfile' adjacent to the project file.

Docker 构建在命令提示符下工作:

【问题讨论】:

  • docker build 命令是否从 Visual Studio 的同一目录运行?既然你移动了文件,我猜就是这样
  • 是的,如果我将 dockerfile 保存在同一个文件夹中,docker build 可以正常工作,即使我在解决方案文件级别将其向上移动,如何确保它正常工作?

标签: docker visual-studio-2019


【解决方案1】:

您可以使用 DockerfileFile property 指定 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) 在调试模式下启动项目。

【讨论】:

  • 谢谢!我有同样的问题,这个解决方案对我有用。错误描述有误导性,应该说找不到 Dockerfile,请确保 csproj 文件指向 dockerfile!
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-23
    • 2021-10-15
    • 2020-05-22
    • 1970-01-01
    • 1970-01-01
    • 2017-09-14
    • 2021-01-09
    • 1970-01-01
    相关资源
    最近更新 更多