version: '3.8' services: # Web 应用示例 webapp: image: nginx:alpine networks: - traefik-public configs: - source: webapp-html target: /usr/share/nginx/html/index.html deploy: replicas: 2 labels: - traefik.enable=true - traefik.http.routers.webapp.rule=Host(`app.local`) - traefik.http.routers.webapp.entrypoints=web - traefik.http.services.webapp.loadbalancer.server.port=80 update_config: parallelism: 1 delay: 10s restart_policy: condition: on-failure # API 服务示例 api: image: httpd:alpine networks: - traefik-public configs: - source: api-html target: /usr/local/apache2/htdocs/index.html deploy: replicas: 2 labels: - traefik.enable=true - traefik.http.routers.api.rule=Host(`api.local`) - traefik.http.routers.api.entrypoints=web - traefik.http.services.api.loadbalancer.server.port=80 # 添加路径前缀 - traefik.http.routers.api-path.rule=Host(`app.local`) && PathPrefix(`/api`) - traefik.http.routers.api-path.entrypoints=web - traefik.http.routers.api-path.service=api update_config: parallelism: 1 delay: 10s restart_policy: condition: on-failure # 监控服务示例 monitor: image: nginx:alpine networks: - traefik-public configs: - source: monitor-html target: /usr/share/nginx/html/index.html deploy: replicas: 1 labels: - traefik.enable=true - traefik.http.routers.monitor.rule=Host(`monitor.local`) - traefik.http.routers.monitor.entrypoints=web - traefik.http.services.monitor.loadbalancer.server.port=80 # 添加基本认证 (可选) - traefik.http.routers.monitor.middlewares=auth - traefik.http.middlewares.auth.basicauth.users=admin:$$2y$$10$$DLKjKQKQKQKQKQKQKQKQKe restart_policy: condition: on-failure networks: traefik-public: external: true configs: webapp-html: content: | Web App - Traefik Swarm Demo

🚀 Web Application

服务: webapp

访问地址: http://app.local

负载均衡: Traefik + Docker Swarm

时间:

这是通过 Traefik 路由的 Web 应用示例。

api-html: content: | API Service - Traefik Swarm Demo

🔌 API Service

服务: api

访问地址: http://api.local

路径路由: http://app.local/api

负载均衡: Traefik + Docker Swarm

时间:

这是通过 Traefik 路由的 API 服务示例。

monitor-html: content: | Monitor Service - Traefik Swarm Demo

📊 Monitor Service

服务: monitor

访问地址: http://monitor.local

认证: 基本认证保护

负载均衡: Traefik + Docker Swarm

时间:

这是通过 Traefik 路由的监控服务示例。