![](/img/trans.png)
[英]Cannot test a simple Asp.net core web api deployed to Docker
[英]Cannot run Asp.Net core web api scaffolded application in docker?
我使用Visual Studio 2017並創建了具有Docker(Linux)支持的Web API應用程序。 並且在運行時給出了以下消息。
PS C:\> docker run hack2 warn: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[35] No XML encryptor configured. Key {93297fb1-e111-46f6-91e1-1bb4878a3941} may be persisted to storage in unencrypted form. Hosting environment: Production Content root path: /app Now listening on: http://[::]:80 Application started. Press Ctrl+C to shut down.
這是腳手架的Docker
文件。
FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base WORKDIR /app EXPOSE 80 EXPOSE 443 FROM microsoft/dotnet:2.1-sdk AS build WORKDIR /src COPY ["hack2/hack2.csproj", "hack2/"] RUN dotnet restore "hack2/hack2.csproj" COPY . . WORKDIR "/src/hack2" RUN dotnet build "hack2.csproj" -c Release -o /app FROM build AS publish RUN dotnet publish "hack2.csproj" -c Release -o /app FROM base AS final WORKDIR /app COPY --from=publish /app . ENTRYPOINT ["dotnet", "hack2.dll"]
在本地Windows 10 PC上嘗試時,它顯示
$ curl localhost/api/values % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0curl: (7) Failed to connect to localhost port 80: Connection refused
然后我將圖像復制到Linux盒中並嘗試curl
curl localhost/api/values
<HTML><HEAD>
<TITLE>Request Error</TITLE>
</HEAD>
<BODY>
<FONT face="Helvetica">
<big><strong></strong></big><BR>
</FONT>
<blockquote>
<TABLE border=0 cellPadding=1 width="80%">
<TR><TD>
<FONT face="Helvetica">
<big>Request Error (invalid_request)</big>
<BR>
<BR>
</FONT>
</TD></TR>
<TR><TD>
<FONT face="Helvetica">
Your request could not be processed. Request could not be handled
</FONT>
</TD></TR>
<TR><TD>
<FONT face="Helvetica">
This could be caused by a misconfiguration, or possibly a malformed request.
</FONT>
</TD></TR>
<TR><TD>
<FONT face="Helvetica" SIZE=2>
<BR>
For assistance, contact your network support team.
</FONT>
</TD></TR>
</TABLE>
</blockquote>
</FONT>
</BODY></HTML>
盒子上的端口80是否可用(默認Web服務器未使用?)
嘗試docker run -p 80:80 hack2
在Docker文檔中查看docker run --publish
以了解如何與主機共享端口的詳細信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.