All my containers inside Portainer stopped working right after the Portainer update. I can’t ping 8.8.8.8 from inside any container, and internal DNS resolution is completely broken, containers can’t resolve each other’s names, and I can’t even ping other containers directly.
Before anyone asks, the answer is yes. I have already restarted Umbrel several times.
For those encountering the same issue, I managed to resolve the issue by purging the Docker image and subsequently redeploying the container.
Unfortunatelly it didn’t solve the problem. I am still with problems.
Hey! This looks like the same networking issue reported here on GitHub.
Portainer 2.39.4 briefly included a newer Docker runtime that could mess up the container networking rules. The 2.39.4-1 update rolled that change back, but on some systems the broken rules remained afterward. That would explain why deleting and redeploying the containers only helped temporarily.
First, check that the Umbrel App Store shows Portainer 2.39.4-1. Portainer itself may still display 2.39.4, which is normal.
If you’re already on 2.39.4-1 and restarting hasn’t helped, someone with the same issue recovered by running this over SSH:
sudo systemctl stop docker
sudo systemctl stop docker.socket
sudo iptables-legacy -F
sudo iptables-legacy -t nat -F
sudo iptables-legacy -t mangle -F
sudo iptables-legacy -t raw -F
sudo iptables-legacy -X
sudo iptables-legacy -t nat -X
sudo iptables-legacy -t mangle -X
sudo iptables-legacy -t raw -X
sudo nft flush ruleset
sudo reboot
This doesn’t delete your containers, stacks, or volumes. It clears the old networking rules so Docker can recreate them after reboot. If you’ve manually added firewall rules to the Umbrel host, don’t run this since those rules would be cleared too. Hopefully that gets everything talking again.
Works! Thank you!
