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

绑定挂载目录到Docker镜像时如何保留子目录?Infer镜像实操问题

正确绑定挂载Infer Docker项目目录方案

挂载空目录的核心原因

  • 相对路径解析错误:原示例中的$PWD/../../examples是基于执行命令时当前处于docker/1.1.0/目录的前提,如果你执行docker run时的工作目录不匹配,相对路径会解析到不存在的本地路径,Docker会默认创建空目录挂载到容器内
  • 系统挂载权限限制:Windows、macOS系统的Docker默认限制了可挂载的目录范围,未授权的路径会静默挂载失败,容器内显示为空目录
  • 跨文件系统挂载异常:Windows使用WSL2 Docker后端时,如果项目放在Windows原生文件系统(/mnt/c/等路径),跨文件系统挂载会出现兼容问题

正确操作步骤

  1. 提前获取本地待挂载项目目录的绝对路径,避免相对路径解析错误,例如本地项目存放在/home/user/my-infer-project,直接复制该绝对路径备用
  2. 配置Docker挂载权限:
    • macOS:打开Docker Desktop设置 → Resources → File Sharing,将项目目录所在路径添加到允许列表,应用设置后重启Docker
    • Windows:打开Docker Desktop设置 → Resources → File Sharing,勾选项目目录所在的磁盘分区,应用设置后重启Docker
  3. 执行挂载命令,将占位符替换为你自己的本地绝对路径:
# 已构建过infer镜像可跳过前两步
cd /your/local/infer/repo/path/docker/1.1.0/
docker build -t infer .

# 替换冒号前的路径为你自己的本地项目绝对路径
docker run -it -v /your/local/project/absolute/path:/infer-examples infer /bin/bash
  1. 进入容器后先执行ls /infer-examples验证目录内容,确认和本地目录一致后再执行后续infer扫描命令

问题排查

如果挂载后仍然为空,先在宿主机执行ls /your/local/project/absolute/path确认本地路径下存在目标文件,再执行docker ps -a找到刚运行的容器ID,执行docker inspect 容器ID查看Mounts字段,确认Source路径和本地项目路径完全匹配,排除拼写错误。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 23:57:03