Microcontaners?


Recommended Posts

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/

 

Link to comment

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.

Link to comment

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 ::)

Link to comment

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.

Link to comment

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.)

Link to comment

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.