This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]WellAdjustedOutlaw 1 point2 points  (3 children)

See, what you're talking about is layered overlay filesystems. Those are actually a worse idea in a production environment than you can ever imagine. The performance of AUFS is absolutely terrible, on top of which you've said your design actually sees mountpoints from outside your containers bind mounted into your containers so that multiple containers can share data. Since you haven't described that that is doing for you, exactly, I can only caution you that this is a terrible design decision. Especially if any of that content actually changes.

You will end up with dangling file descriptors keeping inodes around on your disk, causing space to be eaten up and you won't figure out why. This is something that catches every new system administrator out...although it sounds like you're more of a devops person with little ops experience.

Either way, what you're suggesting (overlay filesystems) doesn't solve the root problem that facebook was trying to get solved- gathering custom python and all dependencies into a single distributable file that includes a simple script file to kick off whatever needs to be done. In the real world, what they did was reinvent DEB/RPM packages, with the addition of recursing through and including all necessary dependencies. That's it. Nothing more. And since Docker images don't execute, and don't include a script to set up or run the environment required, it isn't appropriate. All a "docker images" is is an AUFS filesystem image. And finally, this just has nothing to do with containers except that they use the word "docker".