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

Docker容器创建后如何挂载主机文件夹?

容器创建好后怎么挂载主机文件夹?

方法一:修改配置文件重启容器(适合允许停止容器的场景)

  • 先停止目标容器:docker stop <容器名/容器ID>
  • 找到容器的配置目录,通常位于/var/lib/docker/containers/<容器ID>下,定位到config.v2.json和hostconfig.json两个文件
  • 编辑hostconfig.json,找到Binds数组,添加挂载规则,格式为/主机路径:/容器内路径,示例:
    "Binds": [
      "/home/my-project/data:/app/data",
      // 保留原有挂载项不动
    ]
    
  • 编辑config.v2.json,找到MountPoints对象,添加对应挂载配置:
    "/app/data": {
      "Source": "/home/my-project/data",
      "Destination": "/app/data",
      "RW": true,
      "Type": "bind",
      "Propagation": "rprivate",
      "Spec": {
        "Type": "bind",
        "Source": "/home/my-project/data",
        "Target": "/app/data"
      }
    }
    
  • 保存文件后重启Docker服务:systemctl restart docker,最后启动容器:docker start <容器名/容器ID>

方法二:新建容器迁移数据(更稳妥,无配置修改风险)

不想触碰配置文件的话,采用数据迁移的方式更安全:

  • 先将原容器内需要保留的数据复制到主机:docker cp <原容器名/ID>:/容器内数据路径 /主机临时存储路径
  • 删除原容器(若无需保留):docker rm <原容器名/ID>
  • 使用docker run创建新容器并挂载目标主机文件夹,再将临时数据复制回新容器:
    # 创建带挂载的新容器
    docker run -d -v /主机目标挂载路径:/容器内对应路径 --name <新容器名> <镜像名称>
    # 把临时数据复制进新容器
    docker cp /主机临时存储路径/. <新容器名>:/容器内对应路径/
    

注意事项

  • 修改配置文件存在一定风险,操作前务必备份容器配置文件和数据
  • 挂载前确保主机路径已存在,否则Docker会自动创建对应目录(挂载单个文件时需格外注意)
  • 运行中的容器无法通过常规命令直接添加挂载,必须停止容器或采用上述两种方法

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 07:24:22