Presumably a web server already running on that host (a container manager maybe)? Pi-hole needs port 80 to run the web admin interface, so if another web server already has it it can't start.
Note there's nothing wrong with the two-subnet setup you posted. Do you need it to be on the same subnet?
If needed you can change Pi-hole's web admin port number by adding a line to /etc/lighttpd/external.conf. You would pick a port that doesn't clash with anything on the host. Eg for port 580
server.port := 580
Or you can choose to not install the web admin interface, if you're okay managing it all via the command line.
Edit – I'm not a Docker user and I notice the compose file contains the section below. Therefore maybe with Docker it is here that the port is changed, and not the config file mentioned above. Someone who knows Docker is best to advise on this.
ports:
- "53:53/tcp"
- "53:53/udp"
- "67:67/udp" # Only required if you are using Pi-hole as your DHCP server
- "80:80/tcp"
In Windows and MacOS docker runs inside a special VM. This is the default docker VM subnet.
I don't use Docker Desktop, so I never saw this issue before.
You will need to verify how you configured your container (including which network mode you are trying to use).
The host networking driver only works on Linux hosts, and is not supported on Docker Desktop for Mac, Docker Desktop for Windows, or Docker EE for Windows Server.
You don't need to change the docker desktop subnet range. You need to fix your compose file or docker run command to use the correct IP.
That output does not look as if it were supplied to start a container, rather like it was extracted from a running container?
Are you perhaps using an additional tool like Portainer to manage your Docker deployments?
If so, Portainer may hold on to variable values set on previous container launches.
To avoid that, discard all environment variables and fill at least the recommended ones before restarting a container.
In addition, you should also replace the deprecated ServerIP by the recommended FTLCONF_LOCAL_IPV4.
You did not answer any of my questions, nor did you apply the change I've recommended?
Note that Docker for Windows is considerably poorer in certain configuration options than a Linux Docker installation.
In particular, you are restricted to run Docker in a bridge network mode, where network trafffic to a container would be NATted, so it would appear to come from Docker's internal gateway address.
This perfectly matches your original observation:
In short, that observation would be expected for Docker on Windows.
You should adopt your Pi-hole configuration so it would line up with the current environment variables.
When I tried using FTLCONF_LOCAL_IPV4 it just shows my router's IP. I don't know how to avoid my router being the DNS server. Im using my isp ( google fiber ) default router and modem.
Please upload a debug log and post just the token URL that is generated after the log is uploaded by running the following command from the Pi-hole host terminal: