我正在尝试从特定的Dockerfile构建一个映像,并同时标记它;我正在关注docker build
的{{3}},但我收到以下错误:
“docker build”只需要1个参数
project/
foo/
MyDockerfile
这是我运行的命令:
docker build -f /full/path/to/MyDockerfile -t proj:myapp
我已尝试过上述命令的各种组合,但结果始终是上面给出的错误消息。为什么会发生这种情况 - 因为我正在遵循文档所说的内容?
答案 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。
"--tag list" --> 名称和可选的'name:tag'格式的标签
<块引用>--target string --> 设置要构建的目标构建阶段。
因此命令是
docker build -t simply-your-app-name-or-tag-name . # Don't forget to add a period.
感谢大家的巨大贡献。