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

hiz5n14c  于 2022-12-18  发布在  Docker
关注(0)|答案(7)|浏览(79)

我有docker-compose,它提取一些图像并构建一个。当我运行docker-compose up时,我得到以下错误

**错误:**HTTP请求花费的时间太长,无法完成。请使用--verbose重试以获取调试信息。如果由于网络速度慢而经常遇到此问题,请考虑将COMPOSE_HTTP_TIMEOUT设置为较高的值(当前值:60页)。
**问题:**如何使用docker-compose命令传递COMPOSE_HTTP_TIMEOUT

kkih6yb8

kkih6yb81#

COMPOSE_HTTP_TIMEOUT是一个环境变量,因此

COMPOSE_HTTP_TIMEOUT=200 docker-compose up
pb3skfrl

pb3skfrl2#

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

#.env
COMPOSE_HTTP_TIMEOUT=200

您可以查看文档here

9wbgstp7

9wbgstp73#

对于Mac用户,状态栏图标中的restarting docker修复了此问题:

cwdobuhd

cwdobuhd4#

重新启动对接器
命令:sudo服务Docker重新启动
那就试试docker-compose up

sycxhyv7

sycxhyv75#

我最近遇到了这个问题,即使覆盖了默认的COMPOSE_HTTP_TIMEOUT值,它对我也不起作用。
可能原因如文档Compose CLI environment variables中所述
合成HTTP超时:配置允许对Docker守护程序的请求挂起的时间(秒),然后合成器将其视为失败。默认值为60秒。

从Docker-compose中删除tty:true对我很有效。

有关Compose error "HTTP request took too long to complete" #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
5gfr0r5j

5gfr0r5j6#

.env文件中添加此文件:COMPOSE_HTTP_TIMEOUT=1000

u0njafvf

u0njafvf7#

打开终端并键入以下命令

COMPOSE_HTTP_TIMEOUT=200

验证类型

echo $COMPOSE_HTTP_TIMEOUT

产量:200

相关问题