【问题标题】:.NET Core API 502 Bad Gateway on Docker w/ Nginx Proxy.NET Core API 502 带有 Nginx 代理的 Docker 上的错误网关
【发布时间】:2018-12-18 16:55:33
【问题描述】:
我使用 Nginx 反向代理在 docker 容器中托管 .NET Core Web API 进程。我可以发送一个请求,然后我会得到预期的响应。有一个问题我似乎无法弄清楚。每隔几个小时,我的 API 请求就会开始收到 502 Bad Gateway 错误响应。如果我停止并重新启动 API 的 docker 容器,错误就会停止,一切都会恢复正常。
- 我正在运行 .NET Core 2.1.1。
- docker 容器的主机是 Centos 7。
- 我有其他容器作为此应用程序的一部分运行,但没有问题
有人想吗?
【问题讨论】:
标签:
docker
nginx
asp.net-core
【解决方案1】:
我描述的问题已解决。当我更改我的 Dockerfile 基础映像时,我发现该问题自行解决了。在将我的 API 更新到 .NET Core 2.1.1 时,我决定在我的 Dockerfile 中使用这个镜像:
FROM microsoft/dotnet:2.1.1-aspnetcore-runtime-alpine3.7
我把那行改成这样:
来自 microsoft/dotnet:2.1-aspnetcore-runtime
使用“dotnet:2.1-aspnetcore-runtime”镜像解决了这个问题。我只能假设“microsoft/dotnet:2.1.1-aspnetcore-runtime-alpine3.7”图像有问题。
作为此开关的副作用,我的 docker 图像更大。以前我的 docker 镜像是 71mb,但是有了这个改变,它现在是 107mb。我没关系。