`docker-compose up`超时使用UnixHTTPConnectionPool

时间:2017-02-14 15:50:32

标签: go docker docker-compose

在我们的Jenkins代理中,我们运行了几个(大约20个)测试,其设置涉及为" big"运行docker-compose up。服务/容器数量(约14个)。

我会不时收到以下错误:

ERROR: for testdb-data  UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=60)
An HTTP request took too long to complete. Retry with --verbose to obtain debug information.
If you encounter this issue regularly because of slow network conditions, consider setting COMPOSE_HTTP_TIMEOUT to a higher value (current value: 60).

Haven能够始终如一地重现这一点。我还在努力弄清楚是否与我们的代理商的资源充分利用存在关联。

docker -v1.10.1docker-compose -v1.13.1

关于这可能与此相关的任何想法?

5 个答案:

答案 0 :(得分:5)

我遇到了同样的问题。将最大文件大小值从数字改为字符串后解决。

错误的配置

logging:
 options:
       max-file: 10
       max-size: 10m

正确的配置

logging:
 options:
       max-file: "10"
       max-size: 10m

答案 1 :(得分:4)

docker-compose down

先运行docker-compose down,然后再运行docker-compose up --build可能会起作用。我正在研究vscode,在构建docker时遇到类似问题时,此解决方案对我有用。

在执行上述命令之前,最好先参考what is the purpose of docker-compose down

答案 2 :(得分:1)

docker-compose restart

解决了我的问题。这将重新启动所有已停止和正在运行的服务。

答案 3 :(得分:1)

使用此命令重新启动 docker 服务为我解决了这个问题。

sudo systemctl restart docker

答案 4 :(得分:0)

重新启动docker服务:

sudo systemctl restart docker

并设置DOCKER_CLIENT_TIMEOUTCOMPOSE_HTTP_TIMEOUT环境变量:

export DOCKER_CLIENT_TIMEOUT=120
export COMPOSE_HTTP_TIMEOUT=120

目前是两个解决方法。但是问题仍然存在于docker compose github:

https://github.com/docker/compose/issues/3927

https://github.com/docker/compose/issues/4486

https://github.com/docker/compose/issues/3834