BentoML容器化报错「Unknown flag: mount」的解决咨询
解决BentoML容器化时Dockerfile
--mount 报错问题 方案1:手动生成并修改Dockerfile
BentoML支持单独导出Dockerfile到本地,方便手动调整:
- 执行命令导出Dockerfile到当前目录:
bentoml containerize iris_classifier:latest --dockerfile-only - 打开生成的
Dockerfile,在第一行添加实验性语法声明:# syntax=docker/dockerfile:experimental - 开启Docker实验特性(Docker 19.03版本需手动开启):
- 编辑Docker配置文件(通常路径为
/etc/docker/daemon.json),添加以下内容:{ "experimental": true } - 重启Docker服务使配置生效:
sudo systemctl restart docker
- 编辑Docker配置文件(通常路径为
- 最后手动构建镜像:
docker build -t iris_classifier:latest .
方案2:升级Docker版本
--mount 是Docker BuildKit的特性,Docker 20.10及以上版本默认启用BuildKit,升级到该版本后可直接运行bentoml containerize命令,无需额外配置。
方案3:通过BentoML配置禁用BuildKit依赖
修改BentoML的配置文件(bentoml.cfg),在[container]区块添加以下配置:
[container] build_without_buildkit = true
保存配置后重新执行bentoml containerize iris_classifier:latest,此时生成的Dockerfile会兼容旧版Docker,不再使用--mount flag。
内容的提问来源于stack exchange,提问作者neves
相关产品推荐
相关产品推荐

