this post was submitted on 29 Aug 2025
547 points (99.1% liked)

Programmer Humor

26123 readers
540 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 2 years ago
MODERATORS
 

Docker docs:

Docker routes container traffic in the nat table, which means that packets are diverted before it reaches the INPUT and OUTPUT chains that ufw uses. Packets are routed before the firewall rules can be applied, effectively ignoring your firewall configuration.

you are viewing a single comment's thread
view the rest of the comments
[–] dangling_cat@piefed.blahaj.zone 35 points 5 days ago (2 children)

I DIDNT KNOW THAT! WOW, this puts “not to use network_mode: host” another level.

[–] exu@feditown.com 17 points 5 days ago (1 children)

network: host gives the container basically full access to any port it wants. But even with other network modes you need to be careful, as any -p <external port>:<container port> creates the appropriate firewall rule automatically.

[–] AmbiguousProps@lemmy.today 3 points 5 days ago

I just use caddy and don't use any port rules on my containers. But maybe that's also problematic.

[–] greyfox@lemmy.world 3 points 5 days ago

Actually I believe host networking would be the one case where this isn't an issue. Docker isn't adding iptables rules to do NAT masquerading because there is no IP forwarding being done.

When you tell docker to expose a port you can tell it to bind to loopback and this isn't an issue.