Comment on Adding services to an existing Docker nginx container
moonpiedumplings@programming.dev 9 months agoIf I run two mysql containers, it won’t necessarily take twice the resources of a single mysql containers
It’s complicated, but essentially, no.
Docker images, are built in layers. Each layer is a step in the build process. Layers that are identical, are shared between containers to the point of it taking up the ram of only running the layer once.
Although, it should be noted that docker doesn’t load the whole container into memory, like a normal linux os. Unused stuff will just sit on your disk, just like normal. So rather, binaries or libraries loaded twice via two docker containers will only use up the ram of one instance. This is similar to how shared libraries reduce ram usage.
Docker only has these features, deduplication, if you are using overlayfs or aufs, but I think overlayfs is the default.
moonpiedumplings.github.io/…/setting-up-kasm/#tur…
Please just run two databases on your single mysql container. That is best practice, and probably best for your sanity.
mudeth@lemmy.ca 9 months ago
Thank you for an excellent explanation and blogpost. I’m getting conflicting answers, even on this question, but most authoritative sources do backup what you’re saying re:FS. I’m trying to wrap my head around how that works, specifically with heavy processes. I’m running on a VPS with 2 GiB of RAM and
mysql
is using 15% of that.At this point I have my primary container running. I guess I’ll just have to try spinning up new ones and see how things scale.
This version-independence was what attracted me to docker in the first place, so if it doesn’t work well this way then I may just replace the setup with a conventional setup and deal with dependency hell like I used to - pantsseat.gif.