ASP.在visual studio之外构建映像并运行容器



我创建了标准ASP。.NET Core Web API .NET 5项目在。NET中用Docker文件自动创建。我没有选择选项"配置http "。

当我在Visual Studio中作为docker容器运行这个项目时,一切都很好,我可以访问swagger UI并点击RESRT API端点。

当我构建映像并手动运行它时,它不工作。

我是这样构建的:

D:tempWebApplication1>docker image build -t kicaj29/webapplication1:1.0.0 -f WebApplication1/Dockerfile .

并像这样运行

docker run -p 8855:80 kicaj29/webapplication1:1.0.0

容器正在运行,但当我试图使用地址http://localhost:8855/swagger/index.html访问它时,我得到的信息是无法找到该页面。

可能Visual Studio增加了一些额外的工作人员,但我无法识别。

有办法解决吗?

jacek

要使Swagger可用,您需要在开发模式下运行应用程序。你可以通过设置ASPNETCORE_ENVIRONMENT变量为"Development"来做到这一点。如果您将docker运行语句更改为

docker run -p 8855:80 -e ASPNETCORE_ENVIRONMENT=Development kicaj29/webapplication1:1.0.0

当您这样做时,Swagger UI将在http://localhost:8855/swagger

上可用。也可以添加

ENV ASPNETCORE_ENVIRONMENT=Development

到你的Dockerfile。那么它将默认处于开发模式。

相关内容

  • 没有找到相关文章

最新更新