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?

Gurubelli
quelle

Antworten:

109

COMPOSE_HTTP_TIMEOUT ist also eine Umgebungsvariable

COMPOSE_HTTP_TIMEOUT=200 docker-compose up
Dnephin
quelle
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

dzof31
quelle
9

Für Mac-Benutzer wurde restarting dockerdieses Problem über das Statusleistensymbol behoben:

Docker neu starten

Maroun Melhem
quelle
Diese Lösung hat bei mir funktioniert. Sie können eine Bestätigung in diesem Thread. github.com/docker/compose/issues/3633
Davide Casiraghi
4

Starten Sie den Docker neu

Befehl: sudo service docker neu starten

Versuchen Sie dann Docker-Compose

Abdullah
quelle
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
Akshay Barahate
quelle