Dockerfile中FROM指令参数错误报错问题咨询
解决Dockerfile中FROM指令的解析错误
我完全懂你的困惑——你把Docker容器运行命令和Dockerfile的基础镜像声明指令混在一起写了,这才触发了这个报错。
问题根源拆解
你第7行写的内容:
FROM nvidia-docker run -it gcr.io/tensorflow/tensorflow:latest-devel-gpu
FROM是Dockerfile里专门用来指定基础镜像的指令,它只需要接收「镜像名称(可带标签)」这一个参数,根本不支持完整的docker run命令格式。而你去掉FROM后能在bash里正常执行,是因为那是一条完整的Docker客户端命令,用来启动交互式容器,这和Dockerfile的语法规则完全是两码事。
正确的写法
如果你想基于gcr.io/tensorflow/tensorflow:latest-devel-gpu镜像来构建自己的定制镜像,只需要把第7行改成:
FROM gcr.io/tensorflow/tensorflow:latest-devel-gpu
改完之后,你就可以在这行后面继续添加RUN、COPY、CMD等其他Dockerfile指令,来完成镜像的定制工作了。
额外补充说明
如果需要用到NVIDIA GPU相关功能,只需要确保你的Docker环境已经配置好nvidia-docker工具即可。构建镜像时不需要在FROM里加任何nvidia相关命令,等镜像构建完成后,用nvidia-docker run -it 你的镜像名这类命令启动容器就能调用GPU资源了。
内容的提问来源于stack exchange,提问作者spicy burrito
相关产品推荐
相关产品推荐

