So überschreiben Sie den Standardwert von COMPOSE_HTTP_TIMEOUT mit dem Befehl docker-compose


76

Ich habe Docker-Compose, das einige der Bilder abruft und eines erstellt. Beim Ausführen docker-compose upwird der folgende Fehler angezeigt

FEHLER: Das Abschließen einer HTTP-Anforderung hat zu lange gedauert. Versuchen Sie es erneut mit --verbose, um Debug-Informationen zu erhalten. Wenn dieses Problem aufgrund langsamer Netzwerkbedingungen regelmäßig auftritt, sollten Sie COMPOSE_HTTP_TIMEOUT auf einen höheren Wert setzen (aktueller Wert: 60).

Frage: Wie übergebe ich den Befehl COMPOSE_HTTP_TIMEOUTwith docker-compose?

Antworten:


109

COMPOSE_HTTP_TIMEOUT ist also eine Umgebungsvariable

COMPOSE_HTTP_TIMEOUT=200 docker-compose up

Das hat bei mir nicht funktioniert. Das einzige, was zu funktionieren scheint, ist, dies in die .env für das Verzeichnis zu setzen. Dies ist etwas, das ich nur ungern tun möchte, da viele andere Anwendungen standardmäßig die .env-Datei verwenden. ZB Handwerk cms. Und ich möchte nicht, dass Docker-Compose-Einstellungen mit diesen Anwendungseinstellungen gemischt werden
König

Wir haben hier mehr konfigurierbare Antworten in stackoverflow.com/a/38631255/7152658
zhongjiajie

39

Sie benötigen Ihre COMPOSE_HTTP_TIMEOUTDocker-Instanz ( docker-compose up) und nicht Ihr Docker-Image. Die Lösung besteht also darin, eine .envDatei zu erstellen und diese darin abzulegen:

#.env
COMPOSE_HTTP_TIMEOUT=200

Sie können das Dokument hier überprüfen



4

Starten Sie den Docker neu

Befehl: sudo service docker neu starten

Versuchen Sie dann Docker-Compose


0

Ich habe mich kürzlich mit diesem Problem befasst. Selbst nach dem Überschreiben des Standardwerts COMPOSE_HTTP_TIMEOUThat es bei mir nicht funktioniert.

Mögliche Ursache Wie in der Dokumentation erwähnt, erstellen Sie CLI-Umgebungsvariablen

COMPOSE_HTTP_TIMEOUT: Konfiguriert die Zeit (in Sekunden), zu der eine Anforderung an den Docker-Dämon hängen bleiben darf, bevor Compose sie für fehlgeschlagen hält. Der Standardwert ist 60 Sekunden.

Das Entfernen tty:trueaus meinem Docker-Compose hat bei mir funktioniert.

Weitere Details zum Problem Fehler beim Verfassen "Die HTTP-Anforderung hat zu lange gedauert" # 3633

Details zur Docker-Umgebung:

$ docker-compose version

docker-compose version 1.18.0, build 8dd22a9
docker-py version: 2.6.1
CPython version: 2.7.13
OpenSSL version: OpenSSL 1.0.1t  3 May 2016



$ docker version
Client:
 Version:           18.09.1
 API version:       1.39
 Go version:        go1.10.6
 Git commit:        4c52b90
 Built:             Wed Jan  9 19:35:01 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          18.09.1
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.6
  Git commit:       4c52b90
  Built:            Wed Jan  9 19:06:30 2019
  OS/Arch:          linux/amd64
  Experimental:     false
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.