我一直在尝试在我的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但是却学会了错误。
答案 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
在您的示例中,您指定了两个选项(-t
和PATH
)。但是你没有指定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