wake-up-neo.net

docker: "Build" erfordert 1 Argument. Siehe 'docker build --help'

Versuchen Sie, die Anweisungen zum Erstellen eines Docker-Images von der Docker-Website zu befolgen.

https://docs.docker.com/examples/running_redis_service/

dies ist der Fehler, den ich bekomme, wenn ich die Anweisungen im Dokument befolge 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 Sie?

159
Tampa

Sie müssen einen Punkt hinzufügen. Beispiel docker build -t mytag . bedeutet, dass Sie die Dockerfile im lokalen Verzeichnis verwenden. Wenn Sie Docker 1.5 verwenden, können Sie eine Dockerfile an einer anderen Stelle angeben. Extraktion aus der Hilfe des Docker-Builds -f, --file="" Name of the Dockerfile(Default is 'Dockerfile' at context root)

352
user2915097

Haben Sie den Build-Befehl von einer anderen Stelle (Webseite oder eine andere Datei) kopiert? Versuchen Sie es von Grund auf einzugeben.

Ich habe einen Build-Befehl aus einem AWS-Lernprogramm kopiert und in mein Terminal eingefügt. Dieser Fehler wurde angezeigt. 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 Zeichen "Strich" anders war. Es war ein dünnerer, längerer Strichzeichen als ich, wenn ich es selbst mit der Taste "Minus/Bindestrich" eingegeben habe.

Schlecht:

Sudo Docker Build -t foo.

Gut:

Sudo Docker Build -t foo.

Kannst du den Unterschied sehen? .. Ausschneiden und Einfügen ist hart.

20

Verwenden Sie den folgenden Befehl

docker build -t mytag .

Beachten Sie, dass sich zwischen mytag und dot ein Leerzeichen befindet. Dieser Punkt steht für das aktuelle Arbeitsverzeichnis.

10
arunprakashpj


Du brauchst ein DOT am Ende ...


Also zum Beispiel: 

$ docker build -t <your username>/node-web-app .

Es ist ein bisschen versteckt, aber wenn Sie den . am Ende beachten ...

5
Alireza

 enter image description here Geben Sie am Ende des Befehls einen Punkt (.) Mit einem Leerzeichen an. 

beispiel: 

befehl: Docker Build -t "blink: v1".

Hier sehen Sie "blink: v1", dann ein Leerzeichen und dann einen Punkt (.) 

Das ist es.

5
Harunduet

Bei älteren Docker-Versionen müssen Sie diese Reihenfolge verwenden:

docker build -t tag .

und nicht

docker build . -t tag

1
Ryan R

Öffnen Sie PowerShelland und folgen Sie dieser Anleitung. Diese Art von Fehler tritt typischerweise in Windows auf S.O .Wenn Sie den Befehl build verwenden, benötigen Sie eine Option und einen Pfad.

Es gibt diese Art von Fehler, da Sie in Ihrer Docker-Datei keinen Pfad angegeben haben.

Versuche dies:

C:\Users\Daniele\app> docker build -t friendlyhello C:\Users\Daniele\app\
  1. friendlyhello ist der Name, den Sie Ihrem Kontrahenten zuweisen
  2. C:\Users\Daniele\app\ist der Pfad, der Ihre Docker-Datei enthält

wenn Sie einen Tag hinzufügen möchten

C:\Users\Daniele\app> docker build -t friendlyhello:3.0 C:\Users\Daniele\app\
0
daniele3004

Sie können ein Docker-Image aus einer Datei erstellen, die standardmäßig als Docker-Datei und Dockerfile bezeichnet wird. Es hat einen Befehl/Befehl, den Sie in Ihrem Docker-Container benötigen. Der folgende Befehl erstellt ein Image mit dem Tag latest. Die Docker-Datei sollte sich an dieser Stelle befinden.

docker build . -t <image_name>:latest

Sie können die Docker-Datei über -f angeben, wenn der Dateiname nicht standardmäßig festgelegt ist (Dockerfile) Sameple Docker-Datei.

FROM busybox
RUN echo "hello world"
0
Vaseem007

Mein Problem war, dass die Dockerfile.txt in eine ausführbare Unix-Datei konvertiert werden musste. Sobald ich das getan hatte, ging dieser Fehler weg.

Möglicherweise müssen Sie den TXT-Teil entfernen, bevor Sie dies tun, aber auf einem Mac gehen Sie zu terminal und cd in das Verzeichnis, in dem sich Ihre Docker-Datei und der Typ befinden

chmod +x "Dockerfile"

Anschließend wird Ihre Datei in eine ausführbare Unix-Datei konvertiert, die dann vom Docker-Buildbefehl ausgeführt werden kann.

0
SlickRemix

In meinem Fall ist dieser Fehler in einer Gitlab-CI-Pipeline aufgetreten, als ich mehrere Gitlab-Umgebungsvariablen mit docker build-Flags an --build-arg übergeben habe.

Es stellte sich heraus, dass eine der Variablen ein Leerzeichen enthielt was den Fehler verursachte. Es war schwierig zu finden, da die Pipeline-Protokolle nur den $VARIABLE_NAME zeigten.

Stellen Sie sicher, dass Sie die Umgebungsvariablen in Anführungszeichen setzen, damit Leerzeichen korrekt behandelt werden.

Wechsel von:

--build-arg VARIABLE_NAME=$VARIABLE_NAME

zu:

--build-arg VARIABLE_NAME="$VARIABLE_NAME"
0
spencer.sm