4 ms·
How to you deal with resource allocation (memory limits, cpu limits, etc.) ? How to give a different IP address to each application ? What if an application fai
by Faaak 4y ago
How to you deal with resource allocation (memory limits, cpu limits, etc.) ? How to give a different IP address to each application ? What if an application fails and starts filling your disk space and thus impacts others ?
Docker, and the tools on top of that, can make these problems easier
- vytautask 4y agoAlso, the orchestration becomes easier - you can run the same docker container on multitude of different OSes and configurations. In addition to that, you get great isolation.
- chlorion 4y agoYou can do resource control with cgroups. With systemd based distros you can use "systemd-run" and pass various flags that define the exact limits. Non systemd distros can use libcgroup or use the sysfs cgroup interface directly. The IP address situation can be handled with the "unshare" and "ip" commands. Unshare allows putting a process in a new namespace and ip allows configuring the interfaces and moving them between namespaces. Both of these solutions do not require any container runtime which is a big advantage efficiency wise! I am not saying that using docker for these purposes is bad though, I just wanted to mention some lightweight alternatives in case anyone was interested.