Can't update container due to s6-supervise sitting on port 53

Hi All -

I'm running docker pihole and on my dev image (which auto-updates), it seems to now be completely dead locked. I'm running pihole docker container and unbound container for upstream resolution. That all sits on a ubuntu linux on a raspberry pi 4b.

The core issue, as I understand it is pihole-FTL is already running outside of the docker container under "s6-supervise pihole-FTL". That pihole-FTL sits on port 53, which of course means when I start the pihole container it can't launch because the port is in use.

I've tried everything to get this s6 stuff to go away but I can't find what its running out of. Looking at the svscan process (s6-svscan -t0 /var/run/s6/services) points to folders that don't exist in the root OS. So if i try to stop it (e.g.: /bin/s6-svscanctl -q /var/run/s6/services) it does not work because the file/folder is not found.

Need an assist here because I'm completely stumped on how to take this s6 stuff out (or keep it in the container). Absent any advice here I'm starting to think wiping this image entirely and restarting from scratch is my only option to get rid of "s6 cancer".

There should be no pihole-FTL running when the container is stopped. If you still see that process running then you have either another container still running for Pi-hole or you've installed Pi-hole directly on the host.

s6-init is the process inside the container that manages the pihole-FTL and lighttpd services. Again if you see s6 when the container is stopped then you have another container running with Pi-hole.

1 Like

I was thinking the same but I did remove all the containers running, double checked with "docker ps -all". Even removed the non-running containers, images, etc. I built this with an ansible script from scratch so I'm pretty sure pihole wasn't installed on the host itself but I am at a loss for an explanation same as you.

If there a way to uninstall it if i find it on the host?

Does that mean you are building your own Pi-hole image?

Can’t update container

Could you share the commands you are using to update your container?

What process has attached to port 53?

ss --listening --numeric --tcp --udp --processes --no-header | grep 53

If it's s6- then check who the parent of the process is with the PID.

So I finally found the answer and figured I'd leave it back here for posterity. It really was used by pihole-FTL and yet there was no pihole on the system.

root@lexicon:/home/ubuntu# find / -name pihole | grep -v docker/
root@lexicon:/home/ubuntu#
root@lexicon:/home/ubuntu# lsof -i :53
COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
pihole-FT 4024 root    4u  IPv4  39237      0t0  UDP *:domain 
pihole-FT 4024 root    5u  IPv4  39238      0t0  TCP *:domain (LISTEN)

Now the crazy thing is this system actually had two dockers. One being the 'systemd' docker and then another one being the ubuntu snap docker. Once i stopped the systemd docker, this all cleared up.