This is the related documentation
- You can add additional rules to the
DOCKER-USERchain. This is what I did, but then you need to make sure the rules are added every time you reboot your machine. The “Docker on a router” section in the documentation shows what you could add to the DOCKER-USER chain. - You could disable manipulating iptables, but as the documentation says, you can’t completely disable it and it will break your container networking.
- It is not mentioned in the documentation as it is not relevant there, but depending on what you need Docker for, you could use LXD for containers and virtual machines as well. I also switched to LXD from libvirt, but if you want to run Docker containers, you will have the same issue.
- Again, this might not be a solution for you, but you could run Docker in a virtual machine.
So I think these are your options.