Hi. I developed the application on .net core 2.2 with
Http.Sys
and I am trying to run it on docker with windows container
Here is the dockerfile
FROM mcr.microsoft.com/dotnet/core/aspnet:2.2-nanoserver-1903 AS base
WORKDIR /app
EXPOSE 5003
EXPOSE 443
FROM mcr.microsoft.com/dotnet/core/sdk:2.2-nanoserver-1903 AS build
WORKDIR /src
RUN mkdir IConductAPI.Core
COPY ["IConductAPI.Core/IConductCore.API.csproj", "IConductAPI.Core/"]
COPY ["IConduct.Model/IConductCore.Model.csproj", "IConduct.Model/"]
COPY ["IConduct.DAL/IConductCore.DAL.csproj", "IConduct.DAL/"]
COPY ["IConduct.LicenseCore/IConductCore.LicenseCore.csproj", "IConduct.LicenseCore/"]
COPY ["IConduct.GeneralHelpers/IConductCore.GeneralHelpers.csproj", "IConduct.GeneralHelpers/"]
RUN dotnet restore "IConductAPI.Core/IConductCore.API.csproj"
COPY . .
WORKDIR "/src/IConductAPI.Core"
RUN dotnet build "IConductCore.API.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "IConductCore.API.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
#ENTRYPOINT ["dotnet", "IConductCore.API.dll"]
CMD ["dotnet","IConductCore.API.dll","--console"]
I run docker build -t iconductapi . to build the image
and run the image with
docker run -it -p 5003:5003 -e ASPNETCORE_URLS="http://+" -e ASPNETCORE_ENVIRONMENT=Development --name icapi iconductapi
The output is :
[16:13:57.865+03:00 (0001)] [INF] Dependency Injection services have been configured.
info: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[0]
User profile is available. Using 'C:\Users\ContainerUser\AppData\Local\ASP.NET\DataProtection-Keys' as key reposit
ory and Windows DPAPI to encrypt keys at rest.
info: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[58]
Creating key {b523599c-9920-448c-a0f5-049b3fc06f52} with creation date 2020-08-16 13:13:57Z, activation date 2020-
08-16 13:13:57Z, and expiration date 2020-11-14 13:13:57Z.
info: Microsoft.AspNetCore.DataProtection.Repositories.FileSystemXmlRepository[39]
Writing data to file 'C:\Users\ContainerUser\AppData\Local\ASP.NET\DataProtection-Keys\key-b523599c-9920-448c-a0f5
-049b3fc06f52.xml'.
[16:13:58.022+03:00 (0001)] [INF] Applying configuration...
[16:13:58.024+03:00 (0001)] [INF] Use Cloudflare forward header options.
[16:13:59.096+03:00 (0001)] [INF] Use Swagger.
[16:13:59.240+03:00 (0001)] [INF] Use CORS.
[16:13:59.241+03:00 (0001)] [INF] Configuration has been aplied.
warn: Microsoft.AspNetCore.Server.HttpSys.MessagePump[0]
Overriding address(es) 'http://+'. Binding to endpoints added to UrlPrefixes instead.
info: Microsoft.AspNetCore.Server.HttpSys.HttpSysListener[0]
Start
info: Microsoft.AspNetCore.Server.HttpSys.HttpSysListener[0]
Listening on prefix: http://localhost:5003/
netstat on the container shows that the port is listening on 5003
However any end point that I am trying to hit gives me 403 error. For example , I have swagger and access it with ...:5003/swagger.html but get Forbidden URL
The application is NOT NEW and was executed without any problems without DOCKER. There isno authentication defined in the API