在我们的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 -v
为1.10.1
,docker-compose -v
为1.13.1
。
关于这可能与此相关的任何想法?
答案 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_TIMEOUT
和COMPOSE_HTTP_TIMEOUT
环境变量:
export DOCKER_CLIENT_TIMEOUT=120
export COMPOSE_HTTP_TIMEOUT=120
目前是两个解决方法。但是问题仍然存在于docker compose github:
https://github.com/docker/compose/issues/3927