如何使用docker-compose命令覆盖COMPOSE_HTTP_TIMEOUT的默认值


76

我有docker-compose,它会获取一些图像并构建一个图像。运行docker-compose up时,出现以下错误

错误: HTTP请求花了太长时间才能完成。使用--verbose重试以获得调试信息。如果由于网络状况较慢而经常遇到此问题,请考虑将COMPOSE_HTTP_TIMEOUT设置为更高的值(当前值:60)。

问题:如何通过COMPOSE_HTTP_TIMEOUTwithdocker-compose命令?

Answers:


109

COMPOSE_HTTP_TIMEOUT 是环境变量,所以

COMPOSE_HTTP_TIMEOUT=200 docker-compose up

这对我不起作用。似乎唯一可行的方法是将其放在目录的.env中。由于许多其他应用程序默认使用.env文件,因此我不愿意这样做。例如工艺cms。我不想泊坞窗,撰写设置与这些应用程序设置混合
国王


39

您需要COMPOSE_HTTP_TIMEOUT在Docker实例级别(docker-compose up),而不是在Docker映像内。因此,解决方案是创建一个.env文件并将其放入其中:

#.env
COMPOSE_HTTP_TIMEOUT=200

你可以在这里查看文档



4

重新启动docker

命令:sudo服务docker restart

然后尝试docker-compose up


0

我最近遇到了这个问题。即使在覆盖默认COMPOSE_HTTP_TIMEOUT值后,它对我也不起作用。

可能的原因如文档所述编写CLI环境变量

COMPOSE_HTTP_TIMEOUT:配置在Compose认为失败之前允许对Docker守护程序的请求挂起的时间(以秒为单位)。默认为60秒。

tty:true从我的docker-compose中删除对我有用。

关于此问题的更多详细信息撰写错误“ HTTP请求花费了很长时间才能完成”#3633

Docker环境详细信息:

$ 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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.