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.