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

如何将本地工作目录变更持续同步复制到Docker容器中

你需要的实时同步功能可以通过Docker的**绑定挂载(Bind Mount)**实现,不需要额外的同步命令,本地目录的所有变更会实时反映到容器内的对应目录。

你目前的Dockerfile是在镜像构建阶段就将Odoo源码克隆到了容器的/odoo目录,这部分文件是固化在镜像里的,本地修改不会同步到运行的容器中,只需要修改docker-compose配置添加挂载规则即可实现需求。

修改后的docker-compose配置示例

在你的odoo服务下新增volumes段即可:

version: '3.3'

services:
  app: &app
    build:
      context: .
      dockerfile: ./docker/app/Dockerfile
    container_name: app
    tty: true
  db:
    image: postgres:9.2.18
    environment:
      - POSTGRES_DB=test
    ports:
      - 5432:5432
    volumes:
      - ./docker/db/pg-data:/var/lib/postgresql/data
  odoo:
    <<: *app
    command: python odoo.py -w odoo -r odoo
    ports:
      - '8069:8069'
    depends_on:
      - db
    # 新增挂载规则实现实时同步
    volumes:
      # 冒号前为本地要同步的工作目录相对路径,可根据实际情况修改
      # 冒号后为容器内对应的目录路径,你当前的代码存放在/odoo下所以写/odoo
      - ./odoo:/odoo

注意事项

  • 挂载操作会用本地目录的内容覆盖容器内对应路径的原有内容,你可以先启动一次临时容器,执行docker cp 容器ID:/odoo ./odoo把镜像内已经克隆好的代码复制到本地,避免运行时报错
  • 绑定挂载默认是双向同步,你在容器内对/odoo目录的修改也会同步到本地,开发时注意操作范围
  • 生产环境不要使用绑定挂载同步代码,应该将代码构建到镜像内
  • 如果需要同步多个目录,在volumes下新增多行规则即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 21:36:06