gpt4 book ai didi

asp.net - Docker错误: dotnet-file. dll不存在

转载 作者:行者123 更新时间:2023-12-05 04:29:39 26 4
gpt4 key购买 nike

我已经成功构建了我的应用程序并且列出了图像 my-app:2.7但是当我尝试运行它时,错误提示:

知道哪里错了吗?

docker run -it --rm -p 5000:80 --name my-app:2.7 uploadcore 无法在本地找到图像 'uploadcore:latest' docker:来自守护进程的错误响应:pull access denied for uploadcore,存储库不存在或可能需要“docker login”:拒绝:请求访问资源被拒绝。请参阅“docker run --help”。

docker run -p 5000:80 my-app:2.7 无法执行,因为找不到指定的命令或文件。可能的原因包括: 您拼错了内置的 dotnet 命令。您打算执行 .NET 程序,但 dotnet-uploadcore.dll 不存在。您打算运行全局工具,但在 PATH 上找不到具有此名称的以 dotnet 为前缀的可执行文件。

docker 文件:

FROM mcr.microsoft.com/dotnet/nightly/sdk:6.0 AS base
WORKDIR /app
EXPOSE 59518
EXPOSE 44364

FROM mcr.microsoft.com/dotnet/nightly/sdk:6.0 AS build
WORKDIR /src
COPY UploadCore/UploadCore.csproj UploadCore/
RUN dotnet restore UploadCore/UploadCore.csproj
COPY . .
WORKDIR /src/UploadCore
RUN dotnet build UploadCore.csproj -c Release -o /app

FROM build AS publish
RUN dotnet publish UploadCore.csproj -c Release -o /app

FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "uploadcore.dll"]

文件结构

Context 
Controllers
Migrations
Models
Properties
Service
Views
wwwroot
Program.cs
Startup.cs
UploadCore.csproj
appsettings.Development.json
appsettings.json
libman.json

最佳答案

Linux 区分大小写,因此您的 ENTRYPOINT 必须是

ENTRYPOINT ["dotnet", "UploadCore.dll"]

您的第二个 docker run 命令有效。您可以像这样使用 --name 选项添加容器名称

docker run -p 5000:80 --name mycontainer my-app:2.7

图像名称必须是第一个不是选项的参数。在您的第一个 docker run 命令中,第一个是 uploadcore,所以 docker 寻找一个名为那个的图像,但找不到它。

关于asp.net - Docker错误: dotnet-file. dll不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72257134/

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