4 ms·
You're right: containers and the container ecosystem are complicated and a bit messy. However, containers solve real problems; real problems that you are going
by oftenwrong 5y ago
You're right: containers and the container ecosystem are complicated and a bit messy.
However, containers solve real problems; real problems that you are going to want to solve one way or another, whether you choose to use containers or not.
For example:
1. making sure your application is run with the correct dependencies
2. keeping your application (somewhat) isolated from other applications on the same host
3. packaging your application in a way that is widely compatible
You don't have to use containers, but you will gain a lot of insight from understanding the problems they solve well, and where their rough edges are.
Additionally, some of the things that seem ugly are, in some cases, necessary, or design decisions that do make sense in context.
For example, the use of a layered filesystem. If I am building my application on a given base image, then when I deploy a new version of my application, the host only needs to pull the top layers that contain my application. If I have many applications on the same base layers, that amplifies the savings on pulls and storage. Furthermore, a running container can perform all of its writes on a layer, which can just be discarded when the container exits. There is no need to make a copy of the image FS for the container, which saves on startup time. The layered filesystem approach has a lot of benefits. The cost (downside) is having to understand the additional complexity of layers, and having to structure the layers in such a way as to avoid things like excessively large images.
As for love, don't place too much importance on it... in the context of technology, that is. To quote the ever-relevant Choose Boring Technology:
"...you should probably be using the tool that you hate the most. You hate it because you know the most about it."
http://boringtechnology.club/ http://boringtechnology.club/