Uhm...? MariaDB en Valkey zijn forks (van resp. MySQL en Redis). Het is dus letterlijk de (nu oude) opensource codebase van MySQL / Redis met daarop eigen wijzigingen. Terwijl je zelf omschrijft dat Podman helemaal geen code met Docker deelt. Totaal niet vergelijkbaar dus.
Maar Podman heeft ook zijn eigen features, die dus niet werken of anders werken. Dus geheel compatible is het niet (zoals compose).
Compose? Wat ik gelezen heb kun je zelfs de (oude, docker-compose, neem ik aan) perfect gebruiken met Podman. Enige dat je wellicht moet doen is de Podman socket path symlinken naar de Docker socker path / de env variable waarmee je de Docker socket (/tcp) path kunt overrulen instellen naar de Podman socket path. Daarnaast kun je als je wilt ook het podman commando ook aliassen naar docker en merk je vrijwel niet eens dat je Podman aanroept als je "docker run ..." of wat dan ook doet.
Een OpenSUSE maintainer heeft de firewall situatie uitgelegd in zijn videos. Het idee is dat Podman Quadlet deze beheerd (of Desktop - ligt aan de voorkeur). Doordat die extra firewall er niet meer tussenzit (Aeon heeft dit), heeft een user minder problemen en hoeft hij niet twee keer een poort te openen (in Docker/Podman en in firewalld bijvoorbeeld).
Ik deel dezelfde mening. Een service mag zoveel poorten openen als hij wilt, maar ik bepaal welke inkomende daadwerkelijk geaccepteerd worden.
Nee, dat bepaal je waarschijnlijk niet. Tenzij je begint met alles heel expliciet dicht te zetten. En het hele firewall gebeuren van Docker doet IIRC helemaal niks dicht zetten. Het enige dat Docker doet met zijn firewall verhaal is zaken open zetten. Maar als je het nooit zelf gesloten hebt is dat openen ook niet nodig. Zie het simpele feit dat je vanaf de Docker host met elke poort van elke container kunt verbinden op basis van het container IP. De enige reden dat containers by default niet bereikbaar zijn vanaf het netwerk is omdat ze in een eigen subnet draaien en dat subnet niet bereikbaar is vanaf het LAN. Tenzij..., je op de PC (/...) een additionele route hebt dat het subnet van het Docker netwerk bereikbaar is via het LAN IP van de Docker host. Dan zijn alle containers en poorten daarin bereikbaar vanaf je LAN. En het enige dat daarvoor nodig is is dat ip forwarding aan staat op de Docker host (en dat is een feature van de IP stack, niet van de firewall (/iptables / nftables / firewalld).
En containers kunnen onderling dus ook altijd verbinden met elkaar, ook als deze zich in andere Docker netwerken bevinden. Immers is voor containers de default route via de Docker host. En de Docker host kan/zal dat prima onderling routeren aangezien de Docker host dus alle subnets kent.
Wat doet Docker dan wel met de firewall? Masquerading (/NAT) toepassen zodat verkeer vanuit de containers afkomstig ook weer terug kan naar de container zonder dat je regels in de routing nodig hebt dat verkeer vanaf 172.x.y.z naar de Docker host gestuurd moet worden. Dat dus zorgt dat containers werkende naar buiten kunnen communiceren.
En voor binnenkomend verkeer DNAT (/"port forwarding") toepassen. Zodat je op basis van het IP van de Docker host in combinatie met een poort een Docker container kunt benaderen zonder dat je op het netwerk een routing regel hiervoor nodig hebt. Maar NAT is nog nooit een firewall geweest. Ook een (consumenten) router doet NAT, en ook dat is nog nooit beschouwd als zijnde het filteren van verkeer. Het is een gevolg van NAT, niet het doel van NAT. (Daarom ook dat je DNAT kunt doen om om dat gevolg heen te werken).
En verder zet Docker dus poorten open (accept regels), maar sluiten doet het ze nooit. Dus dat is semi nutteloos tenzij je zelf al je firewall hebt ingericht om (all) verkeer te droppen of rejecten.