201 votes

Réponse d'erreur du démon: aucune étape de génération dans le contexte actuel

J'ai essayé de diriger un récipient avec kvm, avec le code que j'ai trouvé ici: https://github.com/jessfraz/dockerfiles/tree/master/kvm J'ai créé un nouveau répertoire, cd avais en elle et a créé le dockerfile et start.sh les fichiers. Quand j'ai donné l'ordre de construire, il outputed le message d'erreur suivant:

L'envoi de construire contexte de Docker démon 3.584 ko Réponse d'erreur de démon: Pas de phase de développement dans le contexte actuel

Je n'ai aucune idée de ce que cela signifie et je ne pouvais pas google une réponse. Toute aide serait grandement appréciée.

376voto

Paul Dejean Points 1440

Votre dockerfile a-t-il: FROM repo/image

Comme première ligne? J'ai eu cette erreur quand j'ai oublié de spécifier l'image docker à partir de laquelle je construisais.

Même si vous créez une "image source", vous devez toujours spécifier FROM scratch comme première ligne du dockerfile.

54voto

Yonah Dissen Points 513

Cela se produit généralement en raison du texte écrit avant la commande FROM. Essayez de supprimer les commentaires dans votre dockerfile et générez à nouveau.

Pour référence https://github.com/moby/buildkit/issues/164

44voto

Charlie Points 1286

Ce message apparaît lorsque vous déclarez une variable d'environnement ( ENV ) avant de déclarer FROM .

Par exemple:

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

Pour résoudre ce problème, permutez les déclarations afin que toutes les variables d'environnement soient définies après 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
...
 

27voto

NoBrainer Points 1038

Selon la documentation sur docs.docker.com, le premier non-ligne de commentaire de votre Dockerfile doit être l' FROM ligne de. Pour citer les docs:

L' FROM instruction initialise une nouvelle phase de développement et définit l' Image de Base pour la suite des instructions. En tant que tel, valide Dockerfile doit commencer avec un FROM enseignement.

12voto

user3710626 Points 847

Le problème est résolu. Lorsque je suis allé sur dockerfile pour modifier le code, j'ai remarqué que j'avais accidentellement décommenté la première ligne. Erreur stupide, je sais. Merci à vous deux pour l'aide.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X