我正在构建一个Dockerfile,但是当我执行docker build
时,它返回一个错误:
Error response from daemon: Dockerfile parse error line 7: FROM requires either one or three arguments
我的第7行命令是:
FROM nvidia-docker run -it gcr.io/tensorflow/tensorflow:latest-devel-gpu
我对为什么此命令不起作用感到困惑,因为我在bash中使用此命令来构建所需的docker(显然没有
FROM
命令)。注意:我要构建此
nvidia-docker run -it gcr.io/tensorflow/tensorflow:latest-devel-gpu
的镜像,并在该镜像之上添加一些其他内容,这些内容已包含在Dockerfile的后续行中。
最佳答案
我认为您对nvidia-docker的使用感到困惑:
nvidia-docker is essentially a wrapper around the docker command that transparently provisions a container with the necessary components to execute code on the GPU. It is only absolutely necessary when using nvidia-docker run to execute a container that uses GPUs.
因此,您想要做的是在Dockerfile中运行命令。
我认为您要执行的操作如下:
FROM gcr.io/tensorflow/tensorflow:latest-devel-gpu
...
如您所见,Dockerfile不包含对nvidia包装的引用,因为它将用于运行容器,而不是构建镜像。
然后使用nvidia包装器构建并运行镜像:
docker build -t tensorflow .
nvidia-docker run -it tensorflow
关于bash - Dockerfile 'FROM'命令未执行一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48153264/