繁体   English   中英

Docker 运行错误:“无法执行,因为找不到指定的命令或文件”

[英]Docker run error: “Could not execute because the specified command or file was not found”

我正在使用 docker 构建和运行两项服务,一项是 .net 核心网站,另一项是 .net 核心处理器。 我的网站正常运行。 但是,当我尝试运行我的处理器时,我收到以下错误消息:

由于找不到指定的命令或文件,无法执行。 可能的原因包括:

  • 您拼错了内置的 dotnet 命令。

  • 您打算执行 .NET 核心程序,但 dotnet-chores.processor.dll 不存在。

  • 您打算运行一个全局工具,但在 PATH 上找不到具有此名称的带 dotnet 前缀的可执行文件。

  • 我的网站正在运行,除了 dll 名称外,它具有相同的 Dockerfile。
  • 我已经手动运行了 dotnet build 和 publish 命令,它们运行成功。
  • 我已经验证dotnet publish命令生成了一个名为“chores.processor.dll”的 dll(大小写相同)

我的处理器 dockerfile:

FROM mcr.microsoft.com/dotnet/core/sdk:3.0.100 AS build
COPY /src /all/src

WORKDIR /all/src
RUN dotnet build -c Release -o /app
RUN dotnet publish --no-restore -c Release -o /app

# FROM mcr.microsoft.com/dotnet/core/aspnet:3.0
WORKDIR /app
# COPY --from=build /app .
EXPOSE 80
ENTRYPOINT ["dotnet", "chores.processor.dll"]

处理器 csproj:

<Project Sdk="Microsoft.NET.Sdk">
    <PropertyGroup>
        <OutputType>Exe</OutputType>
        <TargetFramework>netcoreapp3.0</TargetFramework>
        <RootNamespace>Chores.Processor</RootNamespace>
    </PropertyGroup>
    <ItemGroup>
        <PackageReference Include="Dapper" Version="2.0.30" />
        <PackageReference Include="MySqlConnector" Version="0.59.2" />
    </ItemGroup>
</Project>

网站 csproj:

<Project Sdk="Microsoft.NET.Sdk.Web">
    <PropertyGroup>
        <TargetFramework>netcoreapp3.0</TargetFramework>
    </PropertyGroup>
    <ItemGroup>
        <PackageReference Include="Dapper" Version="2.0.30" />
        <PackageReference Include="MySqlConnector" Version="0.59.2" />
    </ItemGroup>
</Project>

对我来说,错误消息似乎在寻找dotnet-chores.processor.dll对我来说似乎很奇怪; 为什么它以“dotnet-”为前缀?

如果有人对我可以做些什么来进一步调试有任何建议,我将不胜感激。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM