【发布时间】:2021-03-05 07:21:09
【问题描述】:
我创建了一个 docker 文件并公开了端口。我还设置了我的 program.cs 以读取这些 URL + 端口,但我无法访问它。
我在 docker 控制台中看到的是我的应用程序正在运行。我就是够不到。
我尝试了 localhost:5024 和 172.17.0.2:5024 ,但它没有成功。
这是我的 docker 文件
FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build
WORKDIR /app
EXPOSE 80
EXPOSE 5024
# copy csproj and restore as distinct layers
COPY *.sln .
COPY Api/*.csproj ./Api/
RUN dotnet restore
# copy everything else and build app
COPY Api/. ./Api/
COPY Api.Core/. ./Api.Core/
WORKDIR /app/Api
RUN dotnet publish -c Release -o out
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1 AS runtime
WORKDIR /app
COPY --from=build /app/Api/out ./
ENTRYPOINT ["dotnet", "Api.dll"]
这是我的程序.cs
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.UseServiceProviderFactory(new AutofacServiceProviderFactory())
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseContentRoot(Directory.GetCurrentDirectory());
webBuilder.UseIISIntegration();
webBuilder.UseKestrel();
webBuilder.UseStartup<Startup>();
webBuilder.UseUrls("http://*:5024");
});
然后我运行这些命令来让它运行
docker build -f Api/Dockerfile -t quiplogs_api .
docker run -d -p 5024:80 --name app quiplogs_api
【问题讨论】:
标签: c# .net docker asp.net-core .net-core