将asnet核心webapi Dockerize
我正在尝试将一个aspnetcore webapi对接。我在这里遵循了教程: 但当我运行我的容器时,我有以下消息:将asnet核心webapi Dockerize,docker,asp.net-web-api,asp.net-core,Docker,Asp.net Web Api,Asp.net Core,我正在尝试将一个aspnetcore webapi对接。我在这里遵循了教程: 但当我运行我的容器时,我有以下消息: Did you mean to run dotnet SDK commands? Please install dotnet SDK from: http://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409 我从github站点的Dockerfile下载代码并构建映像: https://github.com/do
Did you mean to run dotnet SDK commands? Please install dotnet SDK from:
http://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409
我从github站点的Dockerfile下载代码并构建映像:
https://github.com/dotnet/dotnet-docker-samples/tree/master/aspnetapp
我运行容器。。。而且它是有效的。。。我比较了两个Dockerfile,它们非常相似:
地雷:
以及github示例中的一个:
FROM microsoft/aspnetcore-build:2.0 AS build-env
WORKDIR /app
# copy csproj and restore as distinct layers
COPY *.csproj ./
RUN dotnet restore
# copy everything else and build
COPY . ./
RUN dotnet publish -c Release -o out
# build runtime image
FROM microsoft/aspnetcore:2.0
WORKDIR /app
COPY --from=build-env /app/out .
ENTRYPOINT ["dotnet", "aspnetapp.dll"]
如果缺少信息,请告诉我,我会添加它。谢谢大家! 尝试删除
运行ln-s fnizz.webapi.dll entrypoint.dll
并将入口点更改为entrypoint[“dotnet”,“entrypoint.dll”]
。我相信,dotnet
可能是DLL扩展的finnicky。此模式还允许您对程序集名称进行泛化—有时很有用。我相信,如果它没有在其中看到您的dll,您会遇到此错误;我对dll名称还有其他奇怪之处,例如它可能会将.webapi.dll
作为我尝试的扩展名。。。我们永远不知道;)我的答案比proj renameOk更简单,我会试试你的答案。。。这只是为了测试,就是这样!!!
FROM microsoft/aspnetcore-build:2.0 AS build-env
WORKDIR /app
# copy csproj and restore as distinct layers
COPY *.csproj ./
RUN dotnet restore
# copy everything else and build
COPY . ./
RUN dotnet publish -c Release -o out
# build runtime image
FROM microsoft/aspnetcore:2.0
WORKDIR /app
COPY --from=build-env /app/out .
ENTRYPOINT ["dotnet", "aspnetapp.dll"]