Oddbean new post about | logout
 A tech tip. If you are using docker for your DB, try to run it in the host network mode, or you’ll have a performance hit from docker-proxy (userland process). You can also use other means to bypass docker-proxy with iptables 🐶🐾🫡 
 Subscribe for more tips 🐶🐾🤣🫡 
 Will do 
 Thank you again! 🐶🐾🙏🏻⚡️🫂 
 Sure Dogg 
 Isn’t that the default? The host network mode 
 No, it’s not the default for sure 🐶🐾🫡 
 Oh, so I think the bridge is the default then. I assume that is the docker-proxy. 
 Docker-proxy is mainly for getting out of container network 🐶🐾🫡 
 I got my first software job based on a docket presentation I did during the interview. Docker is cool 
 Is it reasonable to run the database on docker at all? I thought it would have a performance penalty either way.  
 Docker is just a convenience that wraps Linux native virtualization (domain separation) in it. The performance is native when on Linux. I use docker for convenience of maintaining a compatible environment for the software I need. 🐶🐾🫡 
 Ah, thanks. That's good to know 🙂 
 I recommend looking into nspawn - it's a systemd enabled service that runs LXC containers

here is an example of a deployment script i built most of:

https://github.com/relaytools/relay-tools-images

it's a bit more manual than docker but you aren't forced into the use of aufs or whatever overlay filesystem so it's got a bit less overhead at that level

performance is pretty much near the same as running the server not in a container, it mostly only controls access to kernel resources via namespaces 
 I am using ZFS and no need for aufs🐶🐾🫡 
 well, no need for ZFS union filesystems either 
 It’s not union filesystem, it’s ZFS dataset. LXC is good but it’s a pain to work with, and limited support 🐶🐾🫡