0%

使用 Docker Compose 运行 WordPress

域名解析

主机记录 记录类型 记录值
blog A x.x.x.x

编辑 docker-compose.yml

Quickstart: Compose and WordPress

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
version: "3.9"

services:
wordpress-db:
image: mariadb:10.7
volumes:
- /mnt/wordpress-db-data:/var/lib/mysql
restart: always
environment:
MARIADB_RANDOM_ROOT_PASSWORD: "1"
MARIADB_DATABASE: wordpress
MARIADB_USER: wordpress
MARIADB_PASSWORD: wordpress.123
networks:
- wordpress-network
wordpress:
image: wordpress:5.9
volumes:
- /mnt/wordpress-data:/var/www/html
expose:
- 80
restart: always
environment:
WORDPRESS_DB_HOST: wordpress-db
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress.123
WORDPRESS_DB_NAME: wordpress
networks:
- wordpress-network

networks:
wordpress-network:
name: wordpress-network
driver: bridge

Nginx 添加站点

conf.d/blog.<domain>.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
server {
# Serve Content Over IPv4 and IPv6
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name blog.<domain>;

location / {
proxy_pass http://wordpress:80;

proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}

docker-compose.yml

1
2
3
4
5
6
7
...
networks:
- wordpress-network

networks:
wordpress-network:
external: true

运行 WordPress

1
2
docker compose up -d
# https://blog.<domain>/