Ответ об ошибке от демона: Нет этапа сборки в текущем контексте - PullRequest
0 голосов
/ 21 мая 2018

Я пытался запустить контейнер с помощью kvm, используя код, который нашел здесь: https://github.com/jessfraz/dockerfiles/tree/master/kvm Я создал новый каталог, скопировал в него cd'd и создал файлы dockerfile и start.sh.Когда я дал команду на сборку, она выдавала следующее сообщение об ошибке:

Отправка контекста сборки в Docker-демон 3.584 КБ Ошибка ответа от демона: в текущем контексте стадия сборки отсутствует

Понятия не имею, чтоэто значит, и я не мог гуглить ответ.Любая помощь будет принята с благодарностью.

Ответы [ 5 ]

0 голосов
/ 23 июля 2019

Согласно документации на docs.docker.com , первая строка без комментариев в вашем Dockerfile должна быть строкой FROM.Чтобы процитировать документы:

Инструкция FROM инициализирует новый этап сборки и устанавливает Базовый образ для последующих инструкций.Таким образом, действительный Dockerfile должен начинаться с инструкции FROM.

0 голосов
/ 25 апреля 2019

Это сообщение появляется, когда вы объявляете переменную среды (ENV) перед объявлением FROM.

Например:

# 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.

# 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
...
0 голосов
/ 21 мая 2018

Обычно это происходит из-за текста, который пишется перед командой FROM.Попробуйте удалить комментарии в вашем докер-файле и собрать заново.

Для справки https://github.com/moby/buildkit/issues/164

0 голосов
/ 21 мая 2018

Проблема решена.Когда я пошел в dockerfile для редактирования кода, я заметил, что я случайно раскомментировал первую строку.Глупая ошибка, я знаю.Спасибо вам обоим за помощь.

0 голосов
/ 21 мая 2018

Имеет ли ваш докер-файл: FROM repo/image

в качестве первой строки?Я получил эту ошибку, когда забыл указать образ докера, из которого я строил.

Даже если вы создаете «исходный образ», вам все равно нужно указать FROM scratch в качестве первой строки файла докера.

...