“docker build”正好需要1个参数

时间:2017-10-01 21:51:33

标签: docker dockerfile

我正在尝试从特定的Dockerfile构建一个映像,并同时标记它;我正在关注docker build的{​​{3}},但我收到以下错误:

  

“docker build”只需要1个参数

我的目录结构:

project/
    foo/
    MyDockerfile

这是我运行的命令:

docker build -f /full/path/to/MyDockerfile -t proj:myapp

我已尝试过上述命令的各种组合,但结果始终是上面给出的错误消息。为什么会发生这种情况 - 因为我正在遵循文档所说的内容?

4 个答案:

答案 0 :(得分:11)

<块引用>

docker 构建。

不要错过“点”。

答案 1 :(得分:8)

参数error: too many arguments to function 'FILE* popen()' if(!(in = popen(cmd, "r"))){ ^ 更改Dockerfile的名称(当它与常规-f不同时)。它不是用于传递完整路径Dockerfile。 Path作为第一个论点。

语法是:

docker build

所以在你的情况下这应该有效:

docker build [PARAMS] PATH

或者如果你在项目目录中,你只需要使用一个点:

docker build -f MyDockerfile -t proj:myapp /full/path/to/

答案 2 :(得分:1)

A。请支持Krzysztof的答案。我迷路了,没有他的暗示。

但是B,我的贡献。

我能够为--file参数使用完整路径。

docker build --build-arg JAR_FILE="/source/java/mystuff/build/libs/mything-1.0.10-SNAPSHOT.jar" --file /full/path/to/MyDockerfile -t proj:myapp .

我忘记了那个小“。”最后。

D'oh!

答案 3 :(得分:-1)

天哪,请阅读解释清楚的答案here

-t 参数表示:

<块引用>

"--tag list" --> 名称和可选的'name:tag'格式的标签

<块引用>

--target string --> 设置要构建的目标构建阶段。

因此命令是

docker build -t simply-your-app-name-or-tag-name .  # Don't forget to add a period.

感谢大家的巨大贡献。