0

Docker PiHole error (server.c.970) couldn’t get ‘max filedescriptors’ Operation not permitted

Difunde No Solo Hacking!

Maldito error que me ha dado mucho dolor de cabeza! Qué horror!!!

En fin, la situación se da instalando PiHole en una Raspberry Pi 4, sobre Ubuntu con docker. La combinación es la ostia, pero cuando no da guerra. A mí me ha dado durante días pero ya está solucionado.

El problema aparece cuando levantas el contenedor y falla en el punto que tiene que iniciar el servidor Web lighttpd

pihole | 2020-06-19 21:59:58: (server.c.970) couldn't get 'max filedescriptors' Operation not permitted
pihole | Stopping lighttpd
pihole | lighttpd: no process found
pihole | Starting lighttpd
pihole | 2020-06-19 21:59:59: (server.c.970) couldn't get 'max filedescriptors' Operation not permitted
pihole | Stopping lighttpd
pihole | lighttpd: no process found
pihole | Starting lighttpd
pihole | 2020-06-19 22:00:00: (server.c.970) couldn't get 'max filedescriptors' Operation not permitted
pihole | Stopping lighttpd
pihole | lighttpd: no process found

El comando de Docker que estoy corriendo para levantar es el siguiente:

sudo docker run -d \
    --name pihole \
    -p 53:53/tcp -p 53:53/udp \
    -p 80:80 \
    -p 67:67/udp \
    -p 443:443 \
    -e TZ="Europe/Dublin" \
    -v /home/carlos/docker/pihole:/etc/pihole/ \
    -v /home/carlos/docker/pihole/dnsmasq.d/:/etc/dnsmasq.d/ \
    --dns=1.1.1.1 \
    --restart=unless-stopped \
    --hostname pi.hole \
    -e VIRTUAL_HOST="pi.hole" \
    -e ServerIP="127.0.0.1" \
    -e WEBPASSWORD=1234 \
-e INSTALL_WEB_SERVER=true \
-e INSTALL_WEB_INTERFACE=true \
-e LIGHTTPD_ENABLED=true \
    pihole/pihole:latest

Cuando lo ejecuto, veo en portainer, en los logs, los errores

Para arreglarlo, hay que ejecutar el comando en privileged mode usando el flag –priviledged, por lo que comando queda así:

sudo docker run -d --privileged \
    --name pihole \
    -p 53:53/tcp -p 53:53/udp \
    -p 80:80 \
    -p 67:67/udp \
    -p 443:443 \
    -e TZ="Europe/Dublin" \
    -v /home/carlos/docker/pihole:/etc/pihole/ \
    -v /home/carlos/docker/pihole/dnsmasq.d/:/etc/dnsmasq.d/ \
    --dns=127.0.0.1 \
    --dns=1.1.1.1 \
    --restart=unless-stopped \
    --hostname pi.hole \
    -e VIRTUAL_HOST="pi.hole" \
    -e ServerIP="127.0.0.1" \
    -e WEBPASSWORD=1234 \
-e INSTALL_WEB_SERVER=true \
-e INSTALL_WEB_INTERFACE=true \
-e LIGHTTPD_ENABLED=true \
    pihole/pihole:latest

Una vez que lo hacemos bien, los logs ya no muestran errores:

Carlos 1 – Pihole en Docker 0


Difunde No Solo Hacking!

Carlos Melantuche

Leave a Reply

Your email address will not be published. Required fields are marked *

72 ÷ = 9