DNS Server is Not Starting

Hello,

When I woke up this morning, I saw DNS issue across my network. I narrowed the issue down to Pi-hole as my upstream DNS is still working.The Pi-hole UI says "Status: DNS service not running" and "Error: There was a problem applying your settings. Debugging information: PHP error (2): fsockopen(): unable to connect to 127.0.0.1:4711 (Connection refused) in /var/www/html/admin/scripts/pi-hole/php/FTL.php:47". I have tried rebooting the docker host as well as just the Pihole container, but nothing seems to be working.

I am unable to execute /bin/bash in the docket container and the debug log fails to upload. Is there another way I can get that to you?

The PHP error message is only telling pihole-FTL is not working, but no other details.

We need a little more information.

Are you using volumes? How did you start your container?
Please post your compose file or docker run command.

Also, did you recently change/update something on the host OS?

I have a pretty simple compose:

version: "3"

# More info at https://github.com/pi-hole/docker-pi-hole/ and https://docs.pi-hole.net/
services:
  pihole:
    container_name: pihole
    image: pihole/pihole:latest
    # For DHCP it is recommended to remove these ports and instead add: network_mode: "host"
    ports:
      - "53:53/tcp"
      - "53:53/udp"
      - "81:81/tcp"
    environment:
      TZ: 'America/New-York'
      WEBPASSWORD: 'password'
    # Volumes store your data between container upgrades
    volumes:
      - './etc-pihole:/etc/pihole'
      - './etc-dnsmasq.d:/etc/dnsmasq.d'
    #   https://github.com/pi-hole/docker-pi-hole#note-on-capabilities
    restart: unless-stopped

Nothing has changed on the OS, other than creating a new docker container a few days ago.

Why?
Do you see any error messages when you try docker exec -it pihole /bin/bash (maybe you need to add sudo)?

Also, what happens if you try to restart the container with docker restart pihole ?

This morning, it was just hanging when I tried this, but now it does execute a shell inside the container. This is progress, I think.

It gives the expected behavior: waits a few seconds, then prints "pihole" as the container starts itself.