I have written a docker file to build my .Net 5.0 web API, I am able to build it and push it, however, I am not able to access it.
My Docker File.
FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base
WORKDIR /app
EXPOSE 80
FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
WORKDIR /src
COPY ["API/WebUI/Summit.API.csproj", "API/WebUI/"]
COPY ["Application/Summit.Application.csproj", "Application/"]
COPY ["Domain/Shared/Summit.Domain.csproj", "Domain/Shared/"]
COPY ["Domain/SqlKata.Execution/SqlKata.Execution.csproj",
"Domain/SqlKata.Execution/"]
COPY ["Domain/QueryBuilder/QueryBuilder.csproj", "Domain/QueryBuilder/"]
COPY ["Infrastructure/Summit.Infrastructure.csproj", "Infrastructure/"]
RUN dotnet restore "API/WebUI/Summit.API.csproj"
COPY . .
WORKDIR "/src/API/WebUI"
RUN dotnet build "Summit.API.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "Summit.API.csproj" -c Release -o /app/publish
FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS runtime
WORKDIR /app
COPY --from=publish /app/publish .
ENV ASPNETCORE_URLS http://*:6000
ENTRYPOINT ["dotnet", "Summit.API.dll"]
post building the solution, I am using the below command to create a container.
docker container run -itd --name WebAPIServer -p 6000:6000 image name.
but when I am trying to access it with http://localhost:6000 I am getting an error that this site can't be reached.
I am not using port 5000 because my docker registry is running on that port.
The container's log says:
ClientConnectionId:00000000-0000-0000-0000-000000000000 [05:58:37 WRN] Unable to bind to localhost:5000 on the IPv6 loopback interface: 'Cannot assign requested address'. [05:58:37 INF] Now listening on: localhost:5000 [05:58:37 INF] Application started. Press Ctrl+C to shut down. [05:58:37 INF] Hosting environment: Production [05:58:37 INF] Content root path: /app root@labubuntu20-01:/home/spaadmin#