迁移Wordpress到Docker,你会吗?
很多年前我的你会吗个人博客是部署在 Linode 的服务器,后来又给女儿弄了一个博客记录女儿的迁移成长,使用的你会吗是 Wordpress ,老婆执笔。迁移现在我的你会吗博客早已迁移到了 github ,女儿也长大了,迁移博客好几年没有更新,你会吗准备停掉 linode 服务器,迁移将女儿博客迁移到本地。你会吗
迁移有三个步骤:
备份原博客数据;本地部署 wordpress;还原。迁移备份
将服务器 wwwroot 目录中的你会吗文件拷贝到本地。

将 mysql 数据库进行备份。迁移
本地部署 wordpress
本地部署 wordpress 采用 docker-compose 的你会吗方式,wordpress 使用的迁移是最新版本,亿华云计算mysql 和之前 linode 服务器使用的你会吗同一版本,docker-compose.yml 文件内容如下:
复制version: 3 networks: wp_net: driver: bridge ipam: driver: default config: - subnet: 172.88.1.0/24 services: db: image: mysql:5.7 volumes: - ./data:/var/lib/mysql restart: always ports: - "13306:3306" environment: - TZ=Asia/Shanghai - MYSQL_ROOT_PASSWORD=Aa123456 - MYSQL_DATABASE=wordpress - MYSQL_USER=wpadmin - MYSQL_PASSWORD=Aa123456 command: mysqld --character-set-server=utf8 --collation-server=utf8_general_ci --default-authentication-plugin=mysql_native_password networks: wp_net: ipv4_address: 172.88.1.2 wp: image: wordpress:latest ports: - "12000:80" restart: always volumes: - ./wordpress/:/var/www/html environment: - TZ=Asia/Shanghai - WORDPRESS_DB_HOST=db:3306 - WORDPRESS_DB_USER=wpadmin - WORDPRESS_DB_PASSWORD=Aa123456 - WORDPRESS_DB_NAME=wordpress networks: wp_net: ipv4_address: 172.88.1.3 volumes: db_data: {} wordpress_data: {}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.35.36.37.38.39.40.41.42.43.44.45.46.47.48.49.50.在 docker-compose.yml 所在目录执行 docker-compose up -d 进行容器构建,构建完成后,就可以在浏览器输入 http://localhost:12000 进行访问:

按照向导进行博客的初始化:

还原
因之前部署的 wordperss 版本和现在最新的版本差异很大,所以没有使用完全覆盖的方式。
在构建的数据库中创建一个名为 wordpress_bak 的库,将备份的数据库还原到这个库中。
复制docker cp backup.sql 78fdd98f5834:/ docker exec -it 78fdd98f5834 bash >mysql -uroot -pAa123456 wordpress < backup.sql1.2.3.构建成功后,默认的 wordpress 库中的表有些示例数据,使用下面语句将示例数据删除:
复制DELETE FROM wp_posts DELETE from wp_terms1.2.备份 wordpress_bak 库中的 wp_posts 表,发现备份时提示错误:

原因是还原的数据库日期类型的云服务器字段有不符合要求的默认值,将 wp_posts 表中的日期字段的默认值去掉即可。
使用下面语句将 wp_posts 表中 post_content 字段中内容的域名进行替换,这一步骤是将文章中的图片地址替换为本地地址:
复制update wp_posts set post_content = REPLACE(post_content,http://xxxx.me,http://localhost:12000)1.将 wordpress_bak 库中的 wp_posts、wp_terms 两个表的数据同步到 wordpress 库。同步完后,可以在浏览器访问:http://localhost:12000 ,可以看到所有的文章列表,但点击去后图片不能显示。
将备份的 wwwroot 中的 /wp_content/uploads 目录复制到新安装的 wordpress/wp_content 目录中,这时图片就能正常访问了。
免费信息发布网相关文章
联想主板安装教程(详细教您如何正确安装联想主板,让您的电脑更稳定更高效)
摘要:联想主板是一款高性能的电脑主板,正确安装能够保证电脑的稳定性和性能表现。本文将以联想主板安装为主题,详细介绍联想主板安装的步骤和注意事项。1.确定安装环境在开始安装联想...2025-11-05- 复制EXECsp_addmessage@msgnum=50001,@severity=16, @msgtext=sqlencounteranerror(%s).,2025-11-05
CVE-2021-40444:Windows MSHTML 0day漏洞利用
复制[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\InternetSettings\Zones\0]2025-11-05- 复制maxmind: image:maxmindinc/geoipupdate environment:2025-11-05
用折纸手工解压小电脑(发挥创意,轻松解压身心,享受DIY乐趣)
摘要:随着现代生活的快节奏和高压力,人们常常感到疲惫不堪。而如何放松身心成为了一项迫切的需求。本文将介绍一种利用折纸手工来解压小电脑的方法,通过DIY的乐趣,让您在繁忙的生活中找到片刻的...2025-11-05
10月,由多国执法部门联合进行的“黑暗猎人”行动(Dark Huntor)逮捕了150名嫌疑人,他们涉嫌在全球最大的暗网黑市DarkMarket上从事非法商品买卖。这项行动行动的起始,源自德国警方于今2025-11-05

最新评论