首页 > 解决方案 > 将 Traefik 反向代理到 Docker 容器中的 Nginx

问题描述

这是必要的,因为 Traefik 不支持 php-fpm。

这个 docker-compose.yml 不起作用:

version: '3'
services:

  #php
  ...
  
  #Nginx Service
  webserver:
    image: nginx:alpine
    container_name: webserver
    restart: unless-stopped
    tty: true
    volumes:
      - ./:/var/www
      - ./nginx/conf.d/:/etc/nginx/conf.d/
    networks:
      - app-network
      - traefik
    labels:
      - traefik.http.routers.webserver.rule=Host(`nginx.your_domain`)
      - traefik.http.routers.webserver.tls=true
      - traefik.http.routers.webserver.tls.certresolver=lets-encrypt
      - traefik.port=80

#Docker Networks
networks:
  app-network:
    driver: bridge
  traefik:
    external: true

但是,如果我进行无害的编辑,例如将版本号更改为3.7(或更改回3, from 3.7),它会突然起作用,但不一致。

如何成功地将 Traefik 路由到 Nginx 容器?

标签: dockernginxreverse-proxytraefik

解决方案


#1。Docker compose 文件版本与引擎有关,因此请确保您匹配:

https://docs.docker.com/compose/compose-file/

#2。您可以尝试从 Traefik 运行基本示例:

https://doc.traefik.io/traefik/user-guides/docker-compose/basic-example/ 我假设这是最新的 traefik (2.4)


推荐阅读