I’m not sure if this is an option for you, but if you control the host for your 
containers, then supplying mono to your container via data volume works for me 
to keep the images small:

https://docs.docker.com/v1.8/userguide/dockervolumes/#adding-a-data-volume 
<https://docs.docker.com/v1.8/userguide/dockervolumes/#adding-a-data-volume>

To describe my setup a little more, I run Mesos, and each slave has a mono 
distribution in a directory that mounts to the location of the shared mono 
distribution.  I also have a directory that contains nuget packages on each 
slave which I also mount as a docker volume.  

With this configuration the Docker image really bootstraps itself by
1. Adding the docker volume containing mono to the PATH
2. Set LD_LIBRARY_PATH
3. Add nuget source
4. Install packages that contain .dll’s and .exe’s
5. Start the application itself.

The images are relatively small, at least they don’t contain copies of mono or 
my fairly large application, but they are entirely ephermal, and I can update 
packages without a need to rebuild and maintain many the images.

Some or all of course, is optional - you could put all your code on the image 
just as well.

> On Feb 19, 2016, at 11:45 AM, Eugene Kobrinsky <c...@integrate.com> wrote:
> 
> In regards to Docker layers, I'm not an expert myself. At least from my 
> understanding, Docker does use caching for each layer when you build a 
> container but in effect it is still a separate instance when you run the 
> resulting container.  It still seems to use all the space of each layer for 
> that particular running container. So running the same container 10 times 
> will still take up 10x of the space. 
> 
> We might just have to build our own packages... I was really hoping to avoid 
> that. 
> 
> Going to try IRC and the package manager list next. 
> 
> Thanks for your responses Timotheus! 
> 
> Eugene
> 
> -----Original Message-----
> From: mono-list-boun...@lists.ximian.com 
> [mailto:mono-list-boun...@lists.ximian.com] On Behalf Of Timotheus Pokorra
> Sent: Thursday, February 18, 2016 11:58 PM
> To: mono-list@lists.ximian.com
> Subject: Re: [Mono-list] libmono-2-0.a in libmono-dev CentOS package?
> 
> Hello Eugene,
> 
>> Good question. We are using Docker to run a microservices architecture for 
>> our app. As such, we are dealing with a lot of docker containers, each 
>> running a very small mono app (service).
> Sounds interesting!
> 
>> Right now we have a full blown CentOS instance and mono runtime in each 
>> container, which bloats the container size to 160mb+. Our goal is to run a 
>> small container with minimal OS (options: BusyBox or Alpine 
>> https://github.com/gliderlabs/docker-alpine) which would bring down our 
>> container size to 20mb-40mb.
> I am not a docker expert, but I thought the layered system with AUFS avoids 
> duplication of similar parts of containers? Or are the containers all running 
> on different hosts?
> 
>> Here is an example of a guy doing it, except he makes the static bundle on 
>> Debian 
>> http://www.onegeek.com.au/articles/a-nancy-net-microservice-running-on-docker-in-under-20mb.
> I suggest you build your own CentOS packages: comment the rm lines, and add 
> the libmono-2.0.a files and others in the %files section.
> 
>> Is the mono package mailing list more appropriate for this question? It 
>> seems like an oversite given there is a tool (mkbundle) that uses those 
>> static libraries.
> I think not much is happening on the package mailing list:
> http://lists.ximian.com/pipermail/mono-packagers-list/
> But it might be good to get a discussion going there again :)
> 
> Otherwise try the IRC: #mono on freenode
> 
> all the best,
>  Timotheus
> _______________________________________________
> Mono-list maillist  -  Mono-list@lists.ximian.com 
> http://lists.ximian.com/mailman/listinfo/mono-list
> _______________________________________________
> Mono-list maillist  -  Mono-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-list

_______________________________________________
Mono-list maillist  -  Mono-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-list

Reply via email to