WordPress迁移到Docker上的简单办法

原本的wordpress部署非常麻烦,需要同时配置apache,mysql与wp,难以统一管理不说,迁移也麻烦,所以准备将该服务迁移到docker上。查阅了网上许多资料,终于成功了,所以这里总结出一个比较方便可行的方法。

1、linux系统上需要部署docker,docker-compose

2、wordpress上安装updraft的插件,并进行一次备份

updraft能够备份所有恢复一个网站所需要的东西,基础版也足够用,在确认该插件备份完成后,打开服务器。

cd /var/www/html/wp-content  ls  cache index.php languages plugins themes updraft upgrade uploads cp updraft /opt  

准备好了之后就可以删除原来的wordpress了,完全清除wordpress的方法很麻烦,这里不赘述,建议网上寻找各种办法。

我们这里使用的是docker-compose,文件内容如下:

version: "3.9" services: db: image: mysql:5.7 volumes: - /opt/mysql:/var/lib/mysql  restart: always ports: - "3306:3306" environment: MYSQL_ROOT_PASSWORD: 123456  MYSQL_DATABASE: wordpress  MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress wordpress: depends_on: - db image: wordpress:latest volumes: - /opt/wordpress:/var/www/html  ports: - "80:80"  restart: always environment: WORDPRESS_DB_HOST: db WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: wordpress WORDPRESS_DB_NAME: wordpress 

保存为docker-compose.yml放在某个目录中,直接

docker compose up -d

启动docker后直接访问原网页,按照提示进行安装,此时的wp仍然是空白的状态,不过不用担心。

进入空白的wp中,直接在插件市场下载一个updraft,并将其启用。

ssh连接上服务器,开始操作。

docker ps 7169ee1890e0 wordpress:latest "docker-entrypoint.s…" 16 minutes ago Up 16 minutes 0.0.0.0:80->80/tcp, :::80->80/tcp wordpress-wordpress-1 e7e774503c67 mysql:5.7 "docker-entrypoint.s…" 16 minutes ago Up 16 minutes 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp wordpress-db-1  cd /opt  docker cp updraft wordpress-wordpress-1:/var/www/html/wp-content  

现在,登录那个空白站点,在updraft插件中已经出现了自己原先备份的那套数据,点击数据恢复就行。

由于wp和sql都做了数据持久化,所以当自己不需要这些服务的时候,直接在docker-compose.yml所在的目录使用

docker-compose down

即可关闭服务,再使用up即可恢复,不必担心数据丢失的问题。另外由于做了数据持久化,在/opt/wordpress目录与/opt/mysql目录可以轻松地管理配置文件,进行个性化的定制。

原文链接:https://blog.csdn.net/qq2499094166/article/details/127176992

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享