关于docker:来自守护进程的错误响应:当前上下文中没有构建阶段

Error response from daemon: No build stage in current context

我试图用kvm运行一个容器,使用我在这里找到的代码:https://github.com/jessfraz/dockerfiles/tree/master/kvm我创建了一个新目录,将CD放入其中,并创建了dockerfile和start.sh文件。当我发出构建命令时,它输出了以下错误消息:

将构建上下文发送到Docker守护进程3.584KB来自守护程序的错误响应:当前上下文中没有生成阶段

我不知道这意味着什么,我无法用谷歌搜索出答案。任何帮助都将不胜感激。


你的文件有:FROM repo/image吗?

作为第一行?当我忘记指定我从中构建的Docker映像时,出现了这个错误。

即使您正在构建一个"源映像",您仍然需要指定FROM scratch作为dockerfile的第一行。


这通常是因为在FROM命令之前写入的文本。尝试删除dockerfile中的注释,然后重新生成。

参考https://github.com/moby/buildkit/issues/164


问题解决了。当我去dockerfile编辑代码时,我注意到我不小心取消了第一行的注释。愚蠢的错误,我知道。谢谢你们的帮助。


在声明FROM之前声明环境变量(ENV时,会出现此消息。

例如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Define variables.
ARG PORT
ENV SERVER_PORT=$PORT

# Install minimal Python 3.
FROM python:3.7-alpine

# Install Python requirements.
COPY requirements.txt /
RUN pip install -r /requirements.txt

# Copy app source code.
COPY src/ /app
...

为了解决这个问题,交换声明,以便在FROM之后设置任何环境变量。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Install minimal Python 3.
FROM python:3.7-alpine

# Define variables.
ARG PORT
ENV SERVER_PORT=${PORT}

# Install Python requirements.
COPY requirements.txt /
RUN pip install -r /requirements.txt

# Copy app source code.
COPY src/ /app
...