2

我们已经开始将我们的微服务转换为容器,并且在 Visual Studio 2017 的帮助下取得了成功。这个过程尽可能直接,使用从添加 docker 支持功能生成的 dockerfile(我在这里回答了一个关于这个的问题)。然后我们显然可以毫无问题地从 Visual Studio调试和运行它。如果我停止然后从 Kitematic 再次启动同一个容器,它就不起作用。

我们尝试使用以下命令提取工作容器:

  1. docker 保存名称:tag -o [path_to_file]\Image.tar

  2. docker load -i [path_to_file]\Image.tar

  3. docker run -t -d -p 8080:80 名称:标签

当我们运行docker ps一切运行良好时,状态为 Up,具有定义的端口,但没有响应任何 HTTP 请求。

我们缺少什么?

4

1 回答 1

0

与此同时,我能够解决这个问题,但看起来像一个奇怪的解决方案。如果您最终使容器在 Debug 中运行良好但在 release 中运行良好,我建议您:

  1. 不要使用具有 .net 核心依赖项的 .Net Standard 项目(在我们的例子中,我们最终在 .NET Standard 项目中使用 GlobalExceptionFilter)。

  2. 要解决此问题,您可以使用此依赖项创建一个 nuget,然后跨项目使用它。(本例中的 nuget 在这里作为示例:https ://www.nuget.org/packages/Backend.BaseApi )

  3. 如果不成功,您可以随时将所有内容更改为 .Net Core,或者启动一个新应用程序,在发行版中运行,并逐步添加代码来解决问题。

祝你好运

于 2019-04-05T14:10:59.203 回答