You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在多台机器间共享Docker容器以同步开发环境?

共享WordPress+MySQL Docker环境的可行方案

你提到的docker load/import思路方向对,但更推荐用镜像导出/导入配合数据备份,或者更高效的Docker Compose方式,下面是具体步骤:

方案一:镜像导出+数据备份(对应你说的load/import)

直接共享容器不如共享自定义镜像+数据,因为容器状态容易受环境影响,镜像更稳定:

1. 本地准备镜像和数据

  • 先查看当前运行的容器:
    docker ps -a
    
    记录WordPress和MySQL容器的ID/名称,以及使用的镜像。如果你的容器是在官方镜像基础上修改过(比如装了特定插件、改了配置),先把容器提交为自定义镜像:
    # 提交WordPress容器为自定义镜像
    docker commit wp-container my-wordpress:dev
    # 提交MySQL容器为自定义镜像
    docker commit mysql-container my-mysql:dev
    
  • 导出镜像为tar包:
    docker save -o my-wordpress.tar my-wordpress:dev
    docker save -o my-mysql.tar my-mysql:dev
    
  • 备份MySQL数据:
    docker exec mysql-container mysqldump -u root -p<你的root密码> wordpress > wp-db-backup.sql
    
  • 备份WordPress的主题、插件等(如果是挂载了本地卷,直接打包卷目录;如果在容器内,用docker cp导出):
    docker cp wp-container:/var/www/html/wp-content ./wp-content-backup
    

2. 好友端还原环境

  • 把tar包、sql备份、wp-content目录发给好友,好友先导入镜像:
    docker load -i my-wordpress.tar
    docker load -i my-mysql.tar
    
  • 启动MySQL容器,导入数据库:
    # 先启动MySQL容器
    docker run -d -e MYSQL_ROOT_PASSWORD=<你的root密码> --name mysql-dev my-mysql:dev
    # 导入备份数据
    docker exec -i mysql-dev mysql -u root -p<你的root密码> wordpress < wp-db-backup.sql
    
  • 启动WordPress容器,挂载wp-content目录:
    docker run -d -p 80:80 --link mysql-dev:mysql -v ./wp-content-backup:/var/www/html/wp-content --name wp-dev my-wordpress:dev
    

方案二:用Docker Compose(长期维护首选)

如果你们需要持续同步环境,用Docker Compose更方便,只需要共享配置文件和数据:

1. 编写docker-compose.yml

把你的容器启动参数整理成配置文件,示例:

version: '3.8'
services:
  mysql:
    image: my-mysql:dev # 或者用官方镜像,配合初始化脚本
    volumes:
      - mysql_data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: your-root-pass
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wp-user
      MYSQL_PASSWORD: wp-pass
  wordpress:
    image: my-wordpress:dev
    depends_on:
      - mysql
    ports:
      - "80:80"
    volumes:
      - ./wp-content:/var/www/html/wp-content
    environment:
      WORDPRESS_DB_HOST: mysql:3306
      WORDPRESS_DB_USER: wp-user
      WORDPRESS_DB_PASSWORD: wp-pass
      WORDPRESS_DB_NAME: wordpress
volumes:
  mysql_data:

2. 共享给好友

  • 把docker-compose.yml、wp-db-backup.sql、wp-content目录打包发给好友
  • 好友执行以下命令启动:
    # 启动容器
    docker-compose up -d
    # 导入数据库
    docker exec -i <项目文件夹名>_mysql_1 mysql -u root -pyour-root-pass wordpress < wp-db-backup.sql
    

关键提醒

  • 别用docker export/import,这只是导出容器的文件系统快照,没有镜像的分层结构和元数据,后续更新麻烦,优先用docker save/load
  • 敏感信息比如密码,最好用.env文件单独管理,共享时给个.env.example模板,让好友自己填写
  • 定期同步镜像和数据,避免两边环境差异越来越大

内容的提问来源于stack exchange,提问作者Gabriel Alves

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 06:43:18