Versuchen Sie, die Anweisungen zum Erstellen eines Docker-Images auf der Docker-Website zu befolgen.
https://docs.docker.com/examples/running_redis_service/
Dies ist der Fehler, den ich erhalte, wenn ich den Anweisungen im Dokument folge und diese Docker-Datei verwende
FROM ubuntu:14.04
RUN apt-get update && apt-get install -y redis-server
EXPOSE 6379
ENTRYPOINT ["/usr/bin/redis-server"]
sudo docker build -t myrepo/redis
docker: "build" requires 1 argument. See 'docker build --help'.
Wie lösen?
docker
containers
Tampa
quelle
quelle
Haben Sie den Build-Befehl von einer anderen Stelle (Webseite oder einer anderen Datei) kopiert? Versuchen Sie es von Grund auf neu einzugeben.
Ich habe einen Build-Befehl aus einem AWS-Tutorial kopiert und in mein Terminal eingefügt und habe diesen Fehler erhalten. Es hat mich verrückt gemacht. Nachdem Sie es von Hand eingegeben haben, hat es funktioniert! Bei näherer Betrachtung und meinen vorherigen fehlgeschlagenen Befehlen bemerkte ich, dass das "Bindestrich" -Zeichen anders war. Es war ein dünneres, längeres Bindestrich-Zeichen als ich es bekam, wenn ich es selbst mit der "Minus / Bindestrich" -Taste tippte.
Schlecht:
Gut:
Kannst du den Unterschied sehen? .. Ausschneiden und Einfügen ist schwer.
quelle
Verwenden Sie den folgenden Befehl
Beachten Sie, dass zwischen mytag und dot ein Leerzeichen steht. Dieser Punkt repräsentiert das aktuelle Arbeitsverzeichnis.
quelle
Geben Sie am Ende des Befehls einfach einen Punkt (.) Ein, der ein Leerzeichen enthält.
Beispiel:
Befehl: Docker Build -t "blinken: v1".
Hier sehen Sie "blinken: v1", dann ein Leerzeichen, dann Punkt (.)
Das ist es.
quelle
In meinem Fall trat dieser Fehler in einer Gitlab CI-Pipeline auf, als ich mehrere Gitlab-Umgebungsvariablen
docker build
mit--build-arg
Flags übergab .Es stellte sich heraus, dass eine der Variablen ein Leerzeichen enthielt, das den Fehler verursachte. Es war schwer zu finden, da die Pipeline-Protokolle nur das zeigten
$VARIABLE_NAME
.Stellen Sie sicher, dass Sie die Umgebungsvariablen in Anführungszeichen setzen, damit Leerzeichen korrekt behandelt werden.
Wechsel von:
zu:
quelle
Du brauchst einen Punkt am Ende ...
Also zum Beispiel:
Es ist ein bisschen versteckt, aber wenn Sie auf das
.
am Ende achten ...quelle
Sie können ein Docker-Image aus einer Datei namens Docker-Datei mit dem Namen Dockerfile erstellen. Es enthält eine Reihe von Befehlen / Anweisungen, die Sie in Ihrem Docker-Container benötigen. Der folgende Befehl erstellt ein Bild mit dem neuesten Tag. Dockerfile sollte an diesem Speicherort vorhanden sein (. Bedeutet "Direcotry vorhanden").
Sie können die Docker-Datei über -f angeben, wenn der Dateiname nicht standardmäßig (Docker-Datei) Sameple Docker-Dateiinhalt ist.
quelle
In älteren Docker-Versionen müssen Sie anscheinend diese Reihenfolge verwenden:
docker build -t tag .
und nicht
docker build . -t tag
quelle
Öffnen Sie PowerShelland und befolgen Sie diese Anweisungen. Diese Art von Fehler tritt normalerweise in Windows SO auf. Wenn Sie die Befehlserstellung verwenden, benötigen Sie eine Option und einen Pfad.
Es gibt diese Art von Fehler, da Sie keinen Pfad mit Ihrer Docker-Datei angegeben haben.
Versuche dies:
Wenn Sie ein Tag hinzufügen möchten
quelle
Falls jemand auf dieses Problem stößt, wenn er versucht,
-t
das Bild zu markieren und es auch aus einer Datei zu erstellen, die NICHT benannt istDockerfile
(dh nicht nur den.
Pfad verwendet), können Sie dies folgendermaßen tun:docker build -t my_image -f my_dockerfile .
Beachten Sie, dass Docker ein Verzeichnis als Parameter und den Dateinamen als Option erwartet.
quelle
Mein Problem war, dass die Datei Dockerfile.txt in eine ausführbare Unix-Datei konvertiert werden musste. Sobald ich das getan habe, ist dieser Fehler verschwunden.
Möglicherweise müssen Sie den .txt-Teil entfernen, bevor Sie dies tun. Gehen Sie jedoch auf einem Mac zum Terminal und cd in das Verzeichnis, in dem sich Ihre Docker-Datei befindet, und den Typ
Anschließend wird Ihre Datei in eine ausführbare Unix-Datei konvertiert, die dann vom Docker-Build-Befehl ausgeführt werden kann.
quelle
Der folgende Befehl hat bei mir funktioniert. Die Docker-Datei wurde im Ordner my-app-master abgelegt.
Docker Build -f My-App-Master / Docker-Datei -t My-App-Master.
quelle
Docker Build-Befehlsformat
In Ihrer Powershell: Es gibt diese Art von Fehler, weil Sie keinen Pfad mit Ihrer Docker-Datei angegeben haben.
Versuche dies:
Friendlyhello ist der Name, den Sie Ihrem Container zuweisen und die Version hinzufügen. Verwenden Sie einfach : latest
-f C: \ TestDockerApp \ Dockerfile.txt - Sie möchten ein Tag hinzufügen, da der Build-Befehl einen Parameter oder ein Tag benötigt. - Das DockerFile ist ein Textdokument. Fügen Sie daher explizit die Erweiterung .txt hinzu
** Probieren Sie dieses Format aus:
quelle
.
angeben , häufig ein, um anzugeben, dass das aktuelle Verzeichnis als Build-Kontext an die Docker-Engine gesendet werden soll.