docker - .NET Core API 502 带有 Nginx 代理的 Docker 上的错误网关
问题描述
我在一个带有 Nginx 反向代理的 docker 容器中托管一个 .NET Core Web API 进程。我可以发送一个请求,然后我会得到预期的响应。有一个问题我似乎无法弄清楚。每隔几个小时,我的 API 请求就会开始收到 502 Bad Gateway 错误响应。如果我停止并重新启动 API 的 docker 容器,错误就会停止,一切都会恢复正常。
- 我正在运行 .NET Core 2.1.1。
- docker 容器的主机是 Centos 7。
- 我有其他容器作为此应用程序的一部分运行,它们没有问题
有人想吗?
解决方案
我描述的问题是固定的。当我更改我的 Dockerfile 基础映像时,我发现该问题自行解决了。在将我的 API 更新到 .NET Core 2.1.1 时,我决定在我的 Dockerfile 中使用这个图像: FROM microsoft/dotnet:2.1.1-aspnetcore-runtime-alpine3.7
我将该行更改为: FROM microsoft/dotnet:2.1-aspnetcore-runtime
使用“dotnet:2.1-aspnetcore-runtime”镜像解决了这个问题。我只能假设“microsoft/dotnet:2.1.1-aspnetcore-runtime-alpine3.7”图像有问题。
作为此开关的副作用,我的 docker 图像更大。以前我的 docker 映像是 71mb,但经过这次更改,现在是 107mb。我没关系。
推荐阅读
- java - Spring Test Controller 上传 Json 和 Multipart File 总是返回 405
- kotlin - 在 Kotlin JS/React 项目中使用 `google-maps-react`
- c++ - 从 VS19 在 Linux 远程机器上生成 CMake 不起作用
- shopware - Shopware 6 命令“./psh.phar Administration:build.” 不管用
- textures - 调用时纹理不显示
- javascript - 删除选中前数组中的所有元素
- scala - Scala 2.13:不推荐将显式数组值传递给 Scala 可变参数方法
- python - 为什么 Python 不使用对象 .save() 将我的模型保存到数据库?
- typescript - 如何在打字稿中扩展方法
- python - 如何使用 Python pandas 更快地读取多个 CSV 文件