使用 Traefik 部署 WordPress 的 Docker Compose 配置
下面是一个使用 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 站点。
原文地址: https://www.cveoy.top/t/topic/mI0Q 著作权归作者所有。请勿转载和采集!