导入数据到当前服务器
mkdir wordpress
cd wordpress
vim docker-compose.yml
输入
services:
wordpress:
image: wordpress
restart: always
ports:
- 8080:80
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: blog_xiecoder
WORDPRESS_DB_PASSWORD: 密码
WORDPRESS_DB_NAME: blog_xiecoder
volumes:
- ./wordpress:/var/www/html
db:
image: mysql:8.0
restart: always
environment:
MYSQL_DATABASE: blog_xiecoder
MYSQL_USER: blog_xiecoder
MYSQL_PASSWORD: 密码
MYSQL_RANDOM_ROOT_PASSWORD: '1'
volumes:
- ./db:/var/lib/mysql
- ./dbbackups:/docker-entrypoint-initdb.d # 添加这一行来挂载备份目录
volumes:
wordpress:
db:
wordpress存放原来Wordpress的根目录
例如:tar -xzvf web_blog.xiecoder.com_20240922_060002_PBVe0r.tar.gz
dbbackup目录存放backup.sql
文件即原来的打包数据库文件
#运行容器
docker-compose up -d
恢复数据库
#进入容器
docker-compose exec db bash
mysql -u 用户名 -p密码
#删除当前数据库
DROP DATABASE blog_xiecoder;
#创建数据库
CREATE DATABASE blog_xiecoder;
#恢复数据库
mysql -u 用户名 -p密码 blog_xiecoder < /docker-entrypoint-initdb.d/backup.sql
修改目录权限及其用户组
用于解决WordPess插件程序更新等问题
#进入容器
docker exec -it <container_name> /bin/bash
#检查权限
ls -la /var/www/html
# 调整目录权限为 755
find /var/www/html -type d -exec chmod 755 {} \;
# 将所有者设置为 www-data(根据你的 Web 服务器的实际用户来设置)
chown -R www-data:www-data /var/www/html
修改WordPress配置文件wp-config.php
define( 'DB_NAME', 'blog_xiecoder' );
/** Database username */
define( 'DB_USER', 'blog_xiecoder' );
/** Database password */
define( 'DB_PASSWORD', '数据库密码' );
/** Database hostname */
define( 'DB_HOST', 'db' );
注意这里DB_HOST得改成db
在/* Add any custom values between this line and the stop editing line. */
下面插入如下内容
/* Add any custom values between this line and the stop editing line. */
/** 修复用Caddy导致SSL重定向问题. */
$_SERVER['HTTPS'] = 'on';
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);
/* That's all, stop editing! Happy publishing. */
Caddy配置
blog.xiecoder.com {
reverse_proxy localhost:8080
}
删除冗余
后续便可删除dbbackup目录
再在docker-compose.yml
中删除 - ./dbbackups:/docker-entrypoint-initdb.d
这一行
重新运行docker-compose up -d