下面是一个使用Traefik反向代理部署WordPress的docker-compose.yml示例:

version: '3'

services:
  traefik:
    image: traefik:latest
    command:
      - "--api.insecure=true"
      - "--providers.docker=true"
      - "--providers.docker.exposedbydefault=false"
      - "--entrypoints.web.address=:80"
    ports:
      - "80:80"
      - "8080:8080"
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock:ro"

  db:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress
      MYSQL_RANDOM_ROOT_PASSWORD: '1'
    volumes:
      - db-data:/var/lib/mysql
    networks:
      - traefik-network

  wordpress:
    image: wordpress:latest
    restart: always
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_NAME: wordpress
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.wordpress.rule=Host(`yourdomain.com`)"
      - "traefik.http.routers.wordpress.entrypoints=web"
      - "traefik.http.services.wordpress.loadbalancer.server.port=80"
    networks:
      - traefik-network

volumes:
  db-data:

networks:
  traefik-network:
    external: true

在这个示例中,我们定义了3个服务:Traefik、MySQL和WordPress。Traefik是反向代理服务器,它会监听80端口,并将请求转发到WordPress服务。MySQL服务用于存储WordPress的数据库。

WordPress服务使用标签来告诉Traefik如何处理请求。我们为WordPress服务启用了Traefik,并定义了路由规则,使其可以接收来自主机名为yourdomain.com的请求。我们还将WordPress服务配置为监听Traefik的web入口点,并将其负载平衡到80端口。

注意,我们还将Traefik和WordPress服务连接到traefik-network网络,以便它们可以相互通信。如果您已经有一个名为traefik-network的网络,请确保在docker-compose.yml文件中将其设置为external: true。

最后,我们使用docker-compose up命令启动服务。Traefik将监听80端口,并将请求转发到WordPress服务,使您可以使用yourdomain.com访问WordPress站点。

Traefik部署wordpressdocker-compose应该怎么写?

原文地址: https://www.cveoy.top/t/topic/bhhe 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录