使用docker和wordpress,如何正确处理备份?

时间:2019-02-25 作者:Blankman

我计划使用docker在服务器上自托管我的wordpress。

在wordpress中使用docker官方图像时,我应该如何处理备份?

我需要确保我的数据库有一个卷,在那里我可以备份mysql数据库。

文件系统如何确保备份我的附件?

还有什么需要考虑的吗?

1 个回复
SO网友:TechnoSam

实际上,您只需要支持两件事。数据库和站点数据。数据库是你的所有用户、帖子、类别、标签等。网站数据包括你的主题、插件、上传的媒体等。

要备份数据库,只需使用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配置。这应该可以做到。

相关推荐

如何配置Docker来开发和部署自定义主题?

我刚开始接触Docker,对于专业的WordPress开发实践,我还是个新手。我想建立一个Docker开发环境(在我的Mac上),以便我可以自定义WordPress主题开发。假设您之前已经这样做过,并且已经在使用Docker,您是如何设置的?Dockerfile和docker组成什么。yml看起来像?我相信这之前已经做过了。如果已经有一行命令可以为您设置这一点,我不会感到惊讶。Update: 我把这个话题缩小到以下问题:如何配置Docker以开发和部署自定义主题