Traefik部署wordpressdocker-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/bhhe 著作权归作者所有。请勿转载和采集!