docker - 将 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 容器?
解决方案
#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)
推荐阅读
- python - Python mmap.mmap() 到类似字节的对象?
- python - 每 10 秒从 RTSP 源获取帧
- tensorflow - 无法为 2 类分类修改 mobilenet 模型
- javascript - 如何使用 PHP 减少 html 代码的重复性?
- javascript - 如何通过graphql中的节点id动态查询?
- graphql - 如何在 bsc 网络上获取新创建的 bep20 令牌
- pytorch - reshape() 是否与 contiguous().view() 相同?
- react-native - 如何在不使用 react-native 的情况下从物理键盘获取输入
? - python - 从 UDP 流中保存每第 n 个数据包
- java - Hibernate - 在 postgres 中带有触发器的 saveAndFlush