1.备份容器
docker commit -p 容器id(例:455sd1545) 备份容器名称(例:blog-wordpress)
这样就会生成镜像,通过docker images命令查看
2.将备份镜像保存为tar
docker save -o /opt/blog-wordpress blog-wordpress
/opt/blog-wordpress:保存目录
blog-wordpress:镜像名
3.加载镜像
docker load -i /opt/blog-wordpress.tar
4.运行容器
i.运行mysql5.6:
docker run -d --restart=always --name mysql5.6 -v /opt/blog/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 mysql:5.6
--restart=always:开机自启动
-v /opt/blog/data:/var/lib/mysql:挂载盘,容器数据同步本地,参数可选,如果服务器资源紧张,可不加此参数,此参数相当于本地备份文件,同容易内数据一致
/opt/blog/data:本地挂载目录
/var/lib/mysql:容器内目录
ii.运行wordpress
docker run -d --restart=always --link mysql5.6:mysql --name wordpress -v /opt/blog/wordpress:/var/www/html -p 8080:80 wordpress:latest
--restart=always:开机自启动
-v /opt/blog/wordpress:/var/www/html:挂载盘,容器数据同步本地,参数可选,如果服务器资源紧张,可不加此参数,此参数相当于本地备份文件,同容易内数据一致
/opt/blog/wordpress:本地挂载目录
/var/www/html:容器内目录
似乎这么玩,数据不全,比如wordpress上传的文件、图片、插件等,所以不建议这么迁移。可以按以下思路迁移:
Ⅰ.导出mysql数据库结构及数据
Ⅱ.将wordpress容器内的/var/www/html目录压缩成html.tar.gz
Ⅲ.新服务器直接拉指定版本mysql并运行,然后创建库再导入第i步导出的sql文件。
Ⅳ.新服务器直接拉wordpress并运行,然后将压缩文件html.tar.gz拷被到容易内并解压,将hmlt/wp-content目录下的themes、plugins、languages、uploads目录覆盖当前对应的目录。
新服务器安装参考文章:CentOS 部署 Docker + WordPress
注意
有时候迁移的wordpress启用的主题因自动升级,导致在迁移过后,报错PHP版本不对,这种情况可以去下载原老版本主题zip包,再导入主题并启用,所以IV步可以不覆盖themes目录。
文章评论