我正在使用 Docker Compose 在 Azure Linux 应用服务容器上运行 ASP.NET Core 3.0 多容器应用程序。容器通过 CI 管道构建并推送到 Azure 容器注册表,CD 管道使用“docker-compose.[environment].yml”部署到应用程序服务。
我正在尝试使用 nginx 和 jwilder 的 docker-gen 作为反向代理(单独的容器以避免将 docker 套接字绑定到公开暴露的容器服务),并使用虚拟主机名通过网络访问各种服务。
我似乎在以下三个错误之间兜圈子:
1. Web 应用程序显示“欢迎使用 Nginx”页面,并重复日志:
2020-02-26T15:18:44.021444322Z 2020/02/26 15:18:44 观看 docker 事件
2020-02-26T15:18:44.022275908Z 2020/02/26 15:18:44 检索 docker 服务器信息时出错:获取http://unix.sock/info:拨打 unix /tmp/docker.sock:连接:没有这样的文件或目录
2020-02-26T15:18:44.022669201Z 2020/02/26 15:18:44 列出容器时出错:获取http://unix.sock/containers/json?all=1:拨打 unix /tmp/docker.sock:连接:没有这样的文件或目录
2020-02-26T15:18:44.405594944Z 2020/02/26 15:18:44 Docker 守护进程连接中断
2. 502 网关错误
502 - Web 服务器在充当网关或代理服务器时收到无效响应。您要查找的页面有问题,无法显示。当 Web 服务器(充当网关或代理)联系上游内容服务器时,它从内容服务器收到无效响应。
3. 应用服务的“应用程序错误:(”页面。
这是我的 docker-compose.development.yml:
version: "3.7"
services:
nginx:
image: nginx
environment:
DEFAULT_HOST: …Run Code Online (Sandbox Code Playgroud) nginx docker docker-compose azure-web-app-service jwilder-nginx-proxy