Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The core philosophy of "one app per container" has not changed. Strictly speaking, this will never change because containers - whether Docker, ACI, or OCI - are processes and not VMs. I recommend this accessible presentation on how to write a poor-mans Docker by hand[1] to remove some of the magic behind containers.

As with any philosophy, there are many smart people who hold an opposite view. Docker itself is perhaps deviating from the architectural simplicity of container==process, while the underdog rkt is enforcing this approach even at the cost of user-land usability (e.g. rkt cannot run containers as daemons by itself).

In practice, most containers must have an OS wrapping the application (unless you're distributing binaries), and that OS often ends up being a nearly fully baked version of Ubuntu/Debian/Fedora or whatever the person is most comfortable with outside of Docker.

edit PS: One common exception to this philosophy is a short-lived container for admin/management/debugging. Having a full OS with devel/admin tools is useful for investigation/maintenance purposes, then you kill it and nothing is changed in prod.

[1] https://www.youtube.com/watch?v=HPuvDm8IC-4



> Strictly speaking, this will never change because containers - whether Docker, ACI, or OCI - are processes and not VMs.

Who died and made you king of definitions? Use of the word "container" for virtualizing a full OS instance predates [1] Docker, ACI, OCI.

[1]: https://us-east.manta.joyent.com/bcantrill/public/ppwl-cantr... (I wouldn't be surprised if there are even earlier IBM or FreeBSD uses of the word "container" with respect to OS virtualization.)


Haha, valid point. My thinking is within the current nomenclature and implementations of "containers" vs "Virtual Machines". These definitions could change drastically in the future.


Even in the Linux world, OpenVZ has had full OS containers for many years. Cheap VPSs were often just a container with an OS installed in it.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: