gpt4 book ai didi

docker - 未从dockerfile发布具有Net Core 3.1 API的Dockerfile

转载 作者:行者123 更新时间:2023-12-02 21:33:55 24 4
gpt4 key购买 nike

这是问题所在:
我必须将asp.net core 3.1 api发送给客户端。
我确实是通过VisualStudio将其作为独立的(linux-64x)发布的,以便作为第三方合作伙伴提供较少的文件。
发送之前,我正在尝试使用docker进行测试。客户端将无法访问任何代码存储库或除软件包以外的任何内容。如何使其通过Dockerfile运行?我试过几个例子,但似乎都没有用。我是Docker的新手,但我发现每个dockerfile示例都执行“dotnet build”或“dotnet publish”之类的操作,但是Api已经发布。我只需要它与dockerfile一起运行。
Dockerfile即时通讯使用:

FROM mcr.microsoft.com/dotnet/core/runtime-deps:3.1.0-alpine3.10
WORKDIR /api
COPY publish/Api api
ENV ASPNETCORE_URLS=http://+:5000
CMD ["./api"]
从VS发布生成的文件(Dockerfile除外)
Generated files from VS publish (except Dockerfile)
更新
这样做会给我“权限被拒绝”错误:
FROM mcr.microsoft.com/dotnet/core/runtime-deps:3.1.0-alpine3.10
COPY . api
ENV ASPNETCORE_URLS=http://+:5000
CMD ["./api"]
更新2
构建命令为:
docker build .
资料夹结构:
enter image description here
enter image description here

最佳答案

如果您将其发布为:

dotnet publish Api/Api.csproj -c Release -o /publish
然后试试这个
FROM mcr.microsoft.com/dotnet/core/runtime-deps:3.1.0-alpine3.10
WORKDIR /api
COPY /publish .
ENV ASPNETCORE_URLS=http://+:5000
ENTRYPOINT ["dotnet", "Api"]

关于docker - 未从dockerfile发布具有Net Core 3.1 API的Dockerfile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63904927/

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