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

能否将Docker镜像中的目录挂载至另一个容器?

Docker是否支持直接挂载另一个镜像的目录到运行中的容器?

Docker原生不支持你描述的这种通过docker run --mount type=xxx,image=imageX,subdir=/somedir,dst=/mnt-here直接挂载另一个镜像子目录的操作。原因很简单:镜像是由只读的文件系统分层组成的,它本身不是可被挂载的存储源,--mount参数的type选项(比如bind、volume、tmpfs等)都没有支持直接引用镜像作为数据源的类型。

你可以用以下两种替代方案实现类似效果:

  • 临时容器导出目录后挂载
    先把目标镜像里的目录导出到本地,再通过bind mount挂载到运行的容器中:

    # 创建临时容器承载imageX的文件系统
    docker create --name temp-export imageX
    # 把imageX里的/somedir复制到本地目录
    docker cp temp-export:/somedir ./local-somedir
    # 删除临时容器
    docker rm temp-export
    # 运行imageY时挂载本地目录到容器内的/mnt-here
    docker run --mount type=bind,source="$(pwd)/local-somedir",target=/mnt-here imageY
    
  • 使用数据卷容器挂载
    创建一个基于imageX的数据卷容器,把目标目录关联到数据卷,再让运行的imageY容器共享这个数据卷:

    # 创建一个仅用于提供数据的容器(不会实际运行)
    docker create --name imageX-data imageX /bin/true
    # 运行imageY时挂载数据卷容器里的/somedir到/mnt-here
    docker run --volumes-from imageX-data:/mnt-here imageY
    

这两种方案都能在容器创建阶段完成数据的挂载,适配你的业务场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 08:15:39