¿Cómo puedo aumentar el tamaño de la cola de escucha más allá de 128 en una imagen acoplable con un sistema de archivos de solo lectura?
Cuando ejecuto mi contenedor me sale el siguiente error:
uWSGI: - Listen queue size is greater than the system max net.core.somaxconn (128).
Tengo un Dockerfile con imagen base python:2.7 . Estoy tratando de aumentar el límite de nivel del sistema en el socket Unix y la cola de escucha de la conexión TCP para que uwsgi pueda establecer un límite de cola de escucha de 1024, como se describe en uwsgi: la acumulación de escucha del socket del servidor está limitada a 100 conexiones .
Intenté agregar estos comandos EJECUTAR al RUN :
echo 4096 > /proc/sys/net/core/somaxconnsysctl -w net.core.somaxconn=4096Pero ambos fallan con los siguientes errores respectivamente:
/bin/sh: 1: cannot create /proc/sys/net/core/somaxconn: Read-only file systemsysctl: setting key "net.core.somaxconn": Read-only file system También intenté montar un archivo para sobrescribir /proc/sys/net/core/somaxconn y falló con el error cannot be mounted because it is located inside "/proc"
También intenté ejecutar sudo sysctl -w net.core.somaxconn=4096 net.core.somaxconn = 4096 en el host antes de ejecutarlo, pero no se refleja en el contenedor docker; uwsgi todavía falla con el error uWSGI: - Listen queue size is greater than the system max net.core.somaxconn (128) y al ejecutar cat /proc/sys/net/core/somaxconn muestra 128 en el contenedor mientras muestra 4096 en el host .
Debe ejecutar Docker en modo privilegiado, luego puede modificar el sistema de archivos /proc después de que se inició el contenedor o actualizar a una versión más reciente de Docker. El subcomando run tiene la opción --sysctl , que permite realizar el cambio que imaginas:
$ docker run -ti --sysctl net.core.somaxconn=4096 --rm ubuntu /bin/bash root@9e850908ddb7:/# sysctl net.core.somaxconn net.core.somaxconn = 4096
Si prefiere usar docker-compose . Esta es la configuración que desea ajustar:
sysctls: net.core.somaxconn: 1024O
sysctls: - net.core.somaxconn=1024Referencia: https://github.com/compose-spec/compose-spec/blob/master/spec.md#sysctls