DockerHub文档
https://hub.docker.com/_/wordpress
创建docker-compose.yml
version: '3.3'
services:
   db_dsx2020:
     image: mysql:5.7
     volumes:
       - ./db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: wordpress
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress
   wordpress_dsx2020:
     depends_on:
       - db_dsx2020
     image: wordpress:php8.2
     ports:
       - "8010:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db_dsx2020:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress
       WORDPRESS_DB_NAME: wordpress
     volumes:
       - ./wordpress:/var/www/html
volumes:
    db_data: {}
启动
docker-compose up
本文使用的是宝塔面板
需要进行以下操作
- 
域名DNS解析到云服务器
 - 
宝塔面板-菜单-网站,新建一个网站
 - 
宝塔申请SSL证书(设置反向代理之前)
 - 
设置反向代理(指向8010端口)
 
创建网站演示

申请SSL证书

设置反向代理

等反向代理设置成功后,再使用域名访问WordPress
按照WordPress官方安装步骤填写即可
这时候会出现几个问题
一.页面的样式丢失,控制台可以看到是HTTPS引用了HTTP资源报错导致的(因为是Nginx反向代理Docker导致的,非直接访问)
二.提示重定向过多,或者管理后台提示无权限访问
在WordPress根目录找到wp-config.php文件

在 defined( ‘ABSPATH’ )的上面添加以下代码
xxx.com为你的域名
$_SERVER['HTTPS'] = 'on';
define('FORCE_SSL_ADMIN', true);
define('FORCE_SSL_LOGIN', true);
define('WP_HOME', 'https://xxx.com');
define('WP_SITEURL', 'https://xxx.com');

在wp-includes文件夹下,找打functions.php

在大约第8行 require ABSPATH . WPINC . ‘/option.php’; 下面添加代码
add_filter('script_loader_src', 'agnostic_script_loader_src', 20,2); function agnostic_script_loader_src($src, $handle) { return preg_replace('/^(http|https):/', '', $src); } 
add_filter('style_loader_src', 'agnostic_style_loader_src', 20,2); function agnostic_style_loader_src($src, $handle) { return preg_replace('/^(http|https):/', '', $src); }

完成后,刷新,可以看到样式和访问后台问题解决了
参考文章
《Docker Cpmpose数据备份和迁移[云服务器数据备份到本地服务器]》
添加定时任务
定时压缩数据卷到指定目录

本地拉取压缩文件

可以看到本地的执行结果

每个Docker容器都有不同的数据卷,所以频繁用到的服务,用文章做个记录
避免下一次博客没有备份,又丢失数据
END.