I think docker/podman with firewalld behaves the same way. I was astonished when I found it out. I think you can however bind to localhost exclusively by using the ip in the argument:
docker run -p 127.0.0.1:5555:5555 ....
docker run -p 127.0.0.1:5555:5555 ....
I never really liked the whole container idea, but this is ridiculous.