ninthwalker Posted February 2, 2016 Share Posted February 2, 2016 Any of you Docker developers thought about creating some so called 'microcontainers'? Basically, use a smaller base, and then only add the dependencies required for the app. Or would that be too much work to create individual dockers like that and instead better to use a larger base? see: http://www.iron.io/blog/2016/01/microcontainers-tiny-portable-containers.html and: http://www.alpinelinux.org/ Quote Link to comment
methanoid Posted February 4, 2016 Share Posted February 4, 2016 Any of you Docker developers thought about creating some so called 'microcontainers'? Basically, use a smaller base, and then only add the dependencies required for the app. Or would that be too much work to create individual dockers like that and instead better to use a larger base? see: http://www.iron.io/blog/2016/01/microcontainers-tiny-portable-containers.html and: http://www.alpinelinux.org/ Thanks.. I'm not making Dockers but I found that article really relevant. Granted HD/SSD space isn't expensive but it does seem to make sense that ANY code of ANY kind should be the smallest most efficient it can be... And microcontainers does sound a good way to keep Dockers light on resources (and quicker to deploy!) Maybe Sparklyballs or one of the other active Docker devs will pitch in.. or even take the idea onboard. Quote Link to comment
abs0lut.zer0 Posted February 4, 2016 Share Posted February 4, 2016 Any of you Docker developers thought about creating some so called 'microcontainers'? Basically, use a smaller base, and then only add the dependencies required for the app. Or would that be too much work to create individual dockers like that and instead better to use a larger base? see: http://www.iron.io/blog/2016/01/microcontainers-tiny-portable-containers.html and: http://www.alpinelinux.org/ Thanks.. I'm not making Dockers but I found that article really relevant. Granted HD/SSD space isn't expensive but it does seem to make sense that ANY code of ANY kind should be the smallest most efficient it can be... And microcontainers does sound a good way to keep Dockers light on resources (and quicker to deploy!) Maybe Sparklyballs or one of the other active Docker devs will pitch in.. or even take the idea onboard. +1 Quote Link to comment
aptalca Posted February 4, 2016 Share Posted February 4, 2016 I didn't read the article, but putting the dependencies into the container images rather than the base image can end up using up more space if you have multiple containers needing the same dependencies (in certain cases). For instance, if you have 10 containers, all using the phusion (ubuntu mod) base, then you only have one copy of the phusion image and all containers share that. But if you were using 10 containers, all using a tiny base with very few dependencies, then you would have one copy of that tiny base image, that would be shared, and each container would contain a separate copy of all the common dependencies they would need. One way to make it effective would be if the baseimage was barebones, but had other module images containing common dependencies, then the containers could share those module images. In theory it makes sense, and it is something the linuxserver team is doing internally for their containers (a linuxserver baseimage, a separate nginx module baseimage that installs on top of the default baseimage, but could be used as a base for other containers needing webservers etc.). But it is hard to accomplish with different individual container devs overall. That's why many devs just use phusion as their base and call it a day. Quote Link to comment
ninthwalker Posted February 6, 2016 Author Share Posted February 6, 2016 as an added note .. looks like Docker is moving to the Alpine Linux as it's base image now: https://www.brianchristner.io/docker-is-moving-to-alpine-linux/ Quote Link to comment
methanoid Posted February 6, 2016 Share Posted February 6, 2016 Even if it didnt... how about this https://github.com/cloudimmunity/docker-slim Quote Link to comment
lonix Posted February 8, 2016 Share Posted February 8, 2016 We (Linuxserver.io) Are rolling our own baseimages, granted based upon phusion for now (being looked into). While using a microcontainer does makes sense for a enterprise where one run 10-50 of the same container on the same host (thus sharing the image) as aptalca said, the same is not true for us. Lets look at 2 linuxserver.io containers. Wheres a average user as we see them run 15 different containers and 1 copy of each, thus putting more general dependency in the baseimage is a good solution. Also using phusion\ubuntu is a shortcut to doing things as it feels so simple to install stuff via good\known package managers like apt. (Shaves hours of work of from every container.) Quote Link to comment
methanoid Posted February 8, 2016 Share Posted February 8, 2016 Microcontainers are less important if all your Dockers are based on same base image... hence why I almost exclusively use LS.io's Dockers Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.