docker build - 正好是1个参数

时间:2017-07-06 07:08:06

标签: docker dockerfile

我一直在尝试在我的ubuntu设置上构建syntaxnet并遇到一个问题(尽管可能很简单),我很难找到解决方案。

每当我尝试使用命令构建时:

docker build -t dragnn-oss:latest-minimal -f docker-devel/Dockerile.min

我收到错误消息:

"docker build" requires exactly 1 argument(s).

现在,我的docker版本是17.06并且根据此页面, [docker: "build" requires 1 argument. See 'docker build --help',我应该能够指定位于不同目录中的Dockerfile,所以我看不出问题所在。

编辑:我通过执行以下操作创建了一个符号链接:

ln -s docker-devel/Dockerfile.min link1 

然后我刚刚完成了命令:

docker build -t dragnn-oss:latest-minimal -f link1 .

并且有效。

我以为我不需要把。最后,因为我用-f指定了Dockerfile但是却学会了错误。

4 个答案:

答案 0 :(得分:6)

你需要在最后添加一个点

docker build -t mytag .

docker build -t dragnn-oss:latest-minimal -f docker-devel/Dockerile.min .

另见

docker: "build" requires 1 argument. See 'docker build --help'

答案 1 :(得分:1)

虽然其他答案都是正确的并且您已找到解决方案,但我想指出documentation docker build $ docker build [OPTIONS] PATH 为任何绊倒此事的人。这就是命令应该是这样的:

-f

在您的示例中,您指定了两个选项(-tPATH)。但是你没有指定PATH参数。引用文档:

  

.指定在Docker守护程序中为构建的“上下文”找到文件的位置。

在构建映像时,上下文将发送到Docker守护程序。如果要将正确的目录用作Docker的构建上下文,则可以使用docker-devel,但正如其他人所提到的,您也可以指定特定目录,例如: {{1}}。

答案 2 :(得分:0)

指定目录并在此目录中指定Dockerfile:

docker build -t dragnn-oss:latest-minimal -f Dockerile.min docker-devel

答案 3 :(得分:0)

你需要在路径的末尾添加一个参数 如果它是当前目录,那么.(简单点)就足够了 -f参数仅用于文件名(Dockerfile是默认值)

docker build -t dragnn-oss:latest-minimal -f Dockerile.min docker-devel