然而,我正在构建一个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中使用这个命令来构建我所需要的对接器(显然没有FROM命令)。
注意:我想要构建这个nvidia-docker run -it gcr.io/tensorflow/tensorflow:latest-devel-gpu的映像,并在该映像的基础上添加一些其他内容,这些内容已经包含在Dockerfile的后续行中。
发布于 2018-01-08 15:56:33
我想你对nvidia-码头的用法感到困惑:
nvidia本质上是一个围绕docker命令的包装器,它透明地为容器提供了在GPU上执行代码所需的组件。只有在使用nvidia-docker运行来执行使用GPU的容器时,才是绝对必要的。
因此,您要做的是在Dockerfile中运行一个命令。
我认为你想做的事情是:
FROM gcr.io/tensorflow/tensorflow:latest-devel-gpu
...正如您所看到的,Dockerfile不包含对nvidia包装器的引用,因为它将用于运行容器,而不是构建映像。
然后使用nvidia包装器构建并运行映像:
docker build -t tensorflow .
nvidia-docker run -it tensorflow发布于 2018-01-08 15:49:58
FROM关键字的用法如下:
FROM ImageName而nvidia-docker run -it gcr.io/tensorflow/tensorflow:latest-devel-gpu不是图像名称。你应该找到一个你想要开始的图像(名字),并把它放在那里。你拥有的是一个命令。
见docs:https://docs.docker.com/engine/reference/builder/#from
FROM <image> [AS <name>]
Or
FROM <image>[:<tag>] [AS <name>]
Or
FROM <image>[@<digest>] [AS <name>]https://stackoverflow.com/questions/48153264
复制相似问题