J'essayais d'exécuter un conteneur avec kvm, en utilisant le code trouvé ici: https://github.com/jessfraz/dockerfiles/tree/master/kvm J'ai créé un nouveau répertoire, cd'd et créé les fichiers dockerfile et start.sh. Lorsque j'ai donné l'ordre de construire, le message d'erreur suivant a été généré:
Envoi du contexte de construction au démon Docker 3.584kB Réponse d'erreur du démon: aucune étape de construction dans le contexte actuel
Je n'ai aucune idée de ce que cela signifie et je ne pouvais pas donner une réponse à Google. Toute aide serait grandement appréciée.
Votre fichier de docker a-t-il un: FROM repo/image
En première ligne? J'ai eu cette erreur lorsque j'ai oublié de spécifier l'image du menu fixe à partir de laquelle je construisais.
Même si vous construisez une "image source", vous devez toujours spécifier FROM scratch
en tant que première ligne du fichier docker.
Cela se produit généralement à cause du texte écrit avant la commande FROM. Essayez de supprimer les commentaires dans votre fichier docker et de générer à nouveau.
Pour référence https://github.com/moby/buildkit/issues/164
Le problème est résolu. Quand je suis allé à dockerfile pour éditer le code, j'ai remarqué que je ne mettais pas en commentaire la première ligne par inadvertance. Erreur stupide, je sais. Merci à vous deux pour l'aide.
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, échangez les déclarations de sorte que 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
...
Selon la documentation sur docs.docker.com , la première ligne sans commentaire de votre fichier Docker doit être la ligne FROM
. Pour citer les docs:
L'instruction
FROM
initialise une nouvelle étape de construction et définit Image de base pour les instructions suivantes. En tant que tel, unDockerfile
valide doit commencer par une instructionFROM
.