120 votes

Docker build donne "impossible de préparer le contexte: le contexte doit être un répertoire: / Users / tempUser / git / docker / Dockerfile"

J'ai un Dockerfile qui est censé construire une image Ubuntu . Mais quand je cours

 docker build -t ubuntu-test:latest ./Dockerfile
 

Il montre l'erreur suivante sur la console

impossible de préparer le contexte: le contexte doit être un répertoire: / Users / tempUser / git / docker / Dockerfile

Je suis sur Mac OsX. J'ai essayé de sudo aussi. Rien ne marche.

173voto

Damien-Amen Points 1424

Vous devez plutôt pointer vers le répertoire . Vous ne devez pas spécifier le fichier docker.

docker build -t ubuntu-test:latest . fonctionne .

docker build -t ubuntu-test:latest ./Dockerfile ne fonctionne pas .

89voto

GrizzlyNetch Points 1314

Vous pouvez également exécuter la compilation de docker avec l’option -f

docker build -t ubuntu-test:latest -f Dockerfile.custom .

17voto

shizhz Points 5893

Pour spécifier un Dockerfile lors de la construction, vous pouvez utiliser:

 docker build -t ubuntu-test:latest - < /path/to/your/Dockerfile
 

Mais cela échouera si la commande ADD ou COPY dépend du chemin relatif. Il existe de nombreuses façons de spécifier un context pour docker build , vous pouvez vous référer à la documentation de docker build pour plus d’informations.

3voto

user2517035 Points 1

Je suis confronté au même problème. J'utilise docker version:17.09.0-ce .

Je suis les étapes ci-dessous:

  1. Créer un fichier Docker et ajouter des commandes pour créer une image de menu fixe
  2. Allez dans le répertoire où nous avons créé Dockfile
  3. exécuter en-dessous de la commande $sudo docker build -t ubuntu-test:latest

Il a résolu le problème et l'image créée avec succès.

Remarque: la commande de construction dépend de la version de docker ainsi que de l’option de construction utilisée. :)

2voto

Prashanth Points 76

C'est simple, chaque fois que la construction de Docker est exécutée, Docker veut savoir quel est le nom de l'image, nous devons donc passer -t:. Maintenant, assurez-vous que vous êtes dans le même répertoire que celui où vous avez votre fichier Docker et exécutez

docker build -t <image_name>:<version> . Exemple docker build -t my_apache:latest . supposant que vous vous trouvez dans le même répertoire que votre fichier Dockerfile, sinon passez l'indicateur -f et le fichier Dockerfile.

docker build -t my_apache:latest -f ~/Users/documents/myapache/Dockerfile

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