实际上,您只需要支持两件事。数据库和站点数据。数据库是你的所有用户、帖子、类别、标签等。网站数据包括你的主题、插件、上传的媒体等。
要备份数据库,只需使用mysqldump
.
mysqldump -u {username} -p{password} wordpress > database_dump.sql
如果您的主机由其他用户共享,您可能不想在命令中输入密码。如果是,您可以创建
~/.my.cnf
包含密码的文件,并跳过这些选项。
[mysqldump]
user={username}
password={password}
请参见
this post 了解更多信息。
如果您还停靠了数据库,那么您应该能够docker exec
当您重定向输出时,该命令将转到主机。
对于站点内容,无论如何都应该将其作为卷装载。如果不这样做,每次重新启动时,都会丢失主题、上载内容以及存储在其中的其他内容。
我也有这样的配置(docker-compose
)
volumes:
- ./site_content/var/www/html:/var/www/html
您可以备份整个目录。理论上,你只需要
wp-content
目录,但除非你的网站是海量的,否则抓取整个网站应该不会有什么伤害,以防出现真正的问题。
我还建议您在启动应用程序时备份docker compose文件或启动脚本。
所以这应该是三件事。网站内容、数据库和docker配置。这应该可以做到。