如何挂载本地文件到Docker容器运行Basebox bbc编译工具?
解决Basebox bbc容器无法访问本地文件及错误提示问题
问题原因
Docker容器默认与本地文件系统隔离,你执行的命令未将本地包含schema.graphql的目录挂载到容器内,导致容器无法定位目标文件。
解决方案
通过Docker卷挂载实现本地与容器的文件共享,同时使用--quiet选项关闭错误提示,执行以下修正后的命令:
docker run -v "$(pwd):/workdir" -w /workdir gitea.basebox.health/basebox-distribution/bbc --quiet --prefix=testproject -o bbconf schema.graphql
参数说明
-v "$(pwd):/workdir":将当前本地目录($(pwd))挂载到容器内的/workdir路径,让容器能访问本地文件-w /workdir:设置容器工作目录为/workdir,确保命令中指定的schema.graphql指向挂载目录内的对应文件--quiet:启用静默运行模式,抑制错误及冗余输出
额外提示
- 若
schema.graphql不在当前本地目录,将$(pwd)替换为文件所在的绝对路径,例如/home/your-name/basebox-schemas:/workdir - 如需覆盖已有输出文件,在命令中添加
--force-overwrite选项 - 确保本地
bbconf目录存在(或容器有创建目录的权限),避免输出失败
内容的提问来源于stack exchange,提问作者Tony Oehme
相关产品推荐
相关产品推荐

