如何在 linode 上备份 dockerized wordpress?

How to backup dockerized wordpress on linode?

我使用 docker-compose 为我的朋友将 wordpress 部署到 linode,并且一切正常运行了 3 个月。但是现在我的朋友想要停止 linode,我需要将所有内容备份回本地机器。

我的 wp 站点只是一个简单的博客。我通过 docker-compose 部署了 3 个服务,它们是 wordpress、mysql、php_myadmin。这是我的 docker-compose.yaml 文件:

version: "3.0"
services:
  mysqlwp:
    container_name: mysqlwp
    image: mysql:5
    environment:
      - MYSQL_ROOT_PASSWORD=${PASSWORD}
      - MYSQL_DATABASE=${DATABASE}
      - MYSQL_USER=${DB_USER}
      - MYSQL_PASSWORD=${PASSWORD}
    restart: always
    #Mount database
    volumes:
      - '${MYSQL_DATA_DIR}:/var/lib/mysql'
  wordpress:
    container_name: wordpress
    image: wordpress:latest
    environment:
      - WORDPRESS_DB_NAME=${DATABASE}
      - WORDPRESS_DB_USER=${DB_USER}
      - WORDPRESS_DB_PASSWORD=${PASSWORD}
    ports:
      - '80:80'
    links:
      - 'mysqlwp:mysql'
    depends_on:
      - 'mysqlwp'
    #Mount source code
    volumes:
      - '${SOURCE_CODE_DIR}:/var/www/html'
    restart: always
  phpMyAdmin:
    container_name: phpMyAdmin
    image: phpmyadmin/phpmyadmin
    links:
      - 'mysqlwp:mysql'
    environment:
      - PMA_ARBITRARY=1
      - PMA_HOST=mysqlwp
    depends_on:
      - 'mysqlwp'
    ports:
      - '8888:80'
    restart: always

我不是 wordpress 和 docker 方面的专家,我只是在学习它们。我发现了大量的 wordpress 插件可以帮助我进行备份,但我不熟悉它们,也不确定我应该选择什么?

我应该只备份所有图像和数据库吗?下一次重新启动应该如何组织好?

由于您将 ${SOURCE_CODE_DIR} 映射到 /var/www/html 并将 ${MYSQL_DATA_DIR} 映射到 /var/lib/mysql,因此您应该创建 ${SOURCE_CODE_DIR}${MYSQL_DATA_DIR} 的备份存储在主机上。

这是您的全部数据,其他数据是临时的并且与图像和 docker 相关。如果您要创建一些图像备份,您应该寻找以下主题:

  • docker save ...命令。
  • docker load ...命令。

相关来源:

  1. docker save
  2. docker load
  3. Docker import/export vs. load/save