迁徙Wordpress到Docker 你会吗

很多年前我的团体博客是部署在 Linode 的主机,起初又给女儿弄了一个博客记载女儿的生长,经常使用的是 Wordpress ,老婆执笔。如今我的博客早已迁徙到了 github ,女儿也长大了,博客好几年没有降级,预备停掉 linode 主机,将女儿博客迁徙到本地。

迁徙有三个步骤:

将主机 wwwroot 目录中的文件拷贝到本地。

将 mysql 数据库启动备份。

本地部署 wordpress 驳回 docker-compose 的模式,wordpress 经常使用的是最新版本,mysql 和之前 linode 主机经常使用的同一版本,docker-compose.yml 文件内容如下:

version: '3'networks: wp_net:driver: bridgeipam:driver: defaultconfig:- subnet: 172.88.1.0/24services:db:image: mysql:5.7volumes:- ./data:/var/lib/mysqlrestart: alwaysports:- "13306:3306"environment:- TZ=Asia/Shanghai- MYSQL_ROOT_PASSWORD=Aa123456- MYSQL_DATABASE=wordpress- MYSQL_USER=wpadmin- MYSQL_PASSWORD=Aa123456command: mysqld --character-set-server=utf8 --collation-server=utf8_general_ci --default-authentication-plugin=mysql_native_passwordnetworks:wp_net:ipv4_address: 172.88.1.2wp:image: wordpress:latestports:- "12000:80"restart: alwaysvolumes:- ./wordpress/:/var/www/htmlenvironment:- TZ=Asia/Shanghai- WORDPRESS_DB_HOST=db:3306- WORDPRESS_DB_USER=wpadmin- WORDPRESS_DB_PASSWORD=Aa123456- WORDPRESS_DB_NAME=wordpressnetworks:wp_net:ipv4_address: 172.88.1.3volumes:db_data: {}wordpress_data: {}

在 docker-compose.yml 所在目录口头docker-compose up -d启动容器构建,构建成功后,就可以在阅读器输入启动访问:

依照导游启动博客的初始化:

因之前部署的 wordperss 版本和如今最新的版本差异很大,所以没有经常使用齐全笼罩的模式。

在构建的数据库中创立一个名为 wordpress_bak 的库,将备份的数据库恢复到这个库中。

docker cp backup.sql 78fdd98f5834:/docker exec -it 78fdd98f5834 bash>mysql -uroot -pAa123456 wordpress < backup.sql

构建成功后,自动的 wordpress 库中的表有些示例数据,经常使用上方语句将示例数据删除:

DELETE FROM wp_postsDELETE from wp_terms

备份 wordpress_bak 库中的 wp_posts 表,发现备份时揭示失误:

经常使用上方语句将 wp_posts 表中 post_content 字段中内容的域名启动交流,这一步骤是将文章中的图片地址交流为本地地址:

update wp_posts set post_content = REPLACE(post_content,'http://xxxx.me','http://localhost:12000')

将 wordpress_bak 库中的 wp_posts、wp_terms 两个表的数据同步到 wordpress 库。同步完后,可以在阅读器访问:,可以看到一切的文章列表,但点击去后图片不能显示。

将备份的 wwwroot 中的 /wp_content/uploads 目录复制到新装置的 wordpress/wp_content 目录中,这时图片就能反常访问了。

您可能还会对下面的文章感兴趣: