Ich habe eine Dockerfile
, die ein Ubuntu
Image aufbauen soll . Aber wann immer ich renne
docker build -t ubuntu-test:latest ./Dockerfile
Es zeigt den folgenden Fehler auf der Konsole
Kontext kann nicht vorbereitet werden: Kontext muss ein Verzeichnis sein: / Users / tempUser / git / docker / Dockerfile
Ich bin auf Mac OsX. Ich habe es auch versucht sudo
. Nichts funktioniert.
docker
dockerfile
Damien-Amen
quelle
quelle
Sie können Docker Build auch mit
-f
Option ausführendocker build -t ubuntu-test:latest -f Dockerfile.custom .
quelle
docker build -t my-custom-name -f /path_to_my_docker_file/Dockerfile-abcd .
Um ein
Dockerfile
Wann-Build anzugeben , können Sie Folgendes verwenden:Aber es wird scheitern , wenn es
ADD
oderCOPY
Befehl, der auf relativen Pfad abhängt. Es gibt viele Möglichkeiten, eincontext
for anzugeben. Weitere Informationen findendocker build
Sie in den Dokumenten des Docker- Builds.quelle
docker build -t ubuntu:12.04 - < Dockerfile
Du musst in der Wurzel der Dockerfile seinKontexte verstehen
Der
docker build
BefehlDie grundlegende Syntax des Build-Befehls von Docker lautet
Der Kontext
Der Kontext ist ein Verzeichnis und bestimmt, was der Docker-Erstellungsprozess sehen wird: Aus Sicht der Docker-Datei wird jede Datei
context_dir/mydir/myfile
in Ihrem Dateisystem/mydir/myfile
in die Docker-Datei und damit während des Erstellungsprozesses aufgenommen.Die Docker-Datei
Wenn die Docker-Datei aufgerufen wird
Dockerfile
und im Kontext lebt, wird sie implizit durch die Namenskonvention gefunden. Das ist schön, denn normalerweise finden Sie die Docker-Datei sofort in jedem Docker-Container.Wenn Sie darauf bestehen, einen anderen Namen zu verwenden, z. B. "/ tmp / mydockerfile", können Sie Folgendes verwenden
-f
:Aber dann befindet sich die Docker-Datei nicht im selben Ordner oder ist zumindest schwerer zu finden.
quelle
Es ist einfach, wenn Docker-Build ausgeführt wird, möchte Docker wissen, wie der Image-Name lautet, daher müssen wir -t: übergeben. Stellen Sie nun sicher, dass Sie sich in demselben Verzeichnis befinden, in dem Sie Ihre Docker-Datei haben, und führen Sie sie aus
docker build -t <image_name>:<version> .
Beispiel:docker build -t my_apache:latest .
Angenommen, Sie befinden sich im selben Verzeichnis wie Ihre Docker-Datei. Andernfalls übergeben Sie das Flag -f und die Docker-Datei.docker build -t my_apache:latest -f ~/Users/documents/myapache/Dockerfile
quelle
docker build -t my_apache:latest -f ~/Users/documents/myapache/Dockerfile
(Beachten Sie die Hinzufügung eines.
am Ende)Ich stehe vor dem gleichen Problem. Ich benutze
docker version:17.09.0-ce
.Ich folge den folgenden Schritten:
$ sudo docker build -t ubuntu-test:latest .
Das Problem wurde behoben und das Image erfolgreich erstellt.
Hinweis: Der Build-Befehl hängt von der Docker-Version sowie von der von uns verwendeten Build-Option ab. :) :)
quelle
Einer der Gründe, warum ich einen Fehler bekam, war der Dateiname. Stellen Sie sicher, dass der Dateiname Dockerfile ist. Also habe ich es herausgefunden und hoffe, es könnte jemandem helfen.
quelle