En nuestros agentes de Jenkins, estamos ejecutando varias pruebas (alrededor de 20) cuya configuración implica ejecutar docker-compose up
para una "gran" cantidad de servicios/contenedores (alrededor de 14).
De vez en cuando, obtendré el siguiente error:
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).
No he podido reproducir esto consistentemente. Y todavía estoy tratando de averiguar si hay o no una correlación con el uso completo de los recursos de nuestro agente.
docker -v
es 1.10.1
y docker-compose -v
es 1.13.1
.
¿Alguna idea sobre con qué puede estar relacionado esto?
Reiniciando el servicio docker:
sudo systemctl restart docker
y configurando las variables de entorno DOCKER_CLIENT_TIMEOUT
y COMPOSE_HTTP_TIMEOUT
:
export DOCKER_CLIENT_TIMEOUT=120 export COMPOSE_HTTP_TIMEOUT=120
hay dos soluciones por ahora. Pero los problemas siguen abiertos en docker compose github:
https://github.com/docker/compose/issues/3927
Yo tuve el mismo problema. Se resolvió después de cambiar el valor de tamaño máximo de archivo de un número a una cadena.
Configuración incorrecta
logging: options: max-file: 10 max-size: 10m
Configuración correcta
logging: options: max-file: "10" max-size: 10m
docker-compose down
Ejecutar docker-compose down
y luego ejecutar docker-compose up --build
puede funcionar. Estoy trabajando en vscode y cuando encontré un problema similar mientras construía la ventana acoplable, esta solución funcionó para mí.
Antes de realizar el comando mencionado anteriormente, es mejor que se refiera a cuál es el propósito de docker-compose down