<div dir="ltr">Hello David, <div><br></div><div>I admit I havent try, but thank for this proposition it could be a very good idea, in particular to use Gate on large cluster (or grid such as EGI). </div><div><br></div><div>
thank you, </div><div>David</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sun, Jun 29, 2014 at 12:14 PM, Dávid Völgyes <span dir="ltr"><<a href="mailto:david.volgyes@gmail.com" target="_blank">david.volgyes@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Dear Gate users,<br>
<br>
A few days ago I announced the "vGATE inside docker" option.<br>
But it looks like there was a problem with the image registration at<br>
the Docker registry, and the images were unavailable time to time. I<br>
am sorry for this inconvenience.<br>
Now everything should be fixed, and the images are published.<br>
<br>
So If anybody tried to use my vGATE images but faced with problems,<br>
then please, try it again, it should work now with the same workflow I<br>
mentioned in my previous announcement.<br>
<br>
I hope this time everything will go smoothly.<br>
<br>
Best,<br>
David<br>
<div class="HOEnZb"><div class="h5"><br>
On Thu, Jun 26, 2014 at 4:19 PM, Dávid Völgyes <<a href="mailto:david.volgyes@gmail.com">david.volgyes@gmail.com</a>> wrote:<br>
> Dear Gate users,<br>
><br>
> vGATE is nice, it really makes the first steps easier, but it runs in<br>
> a virtualbox which is resource hungry compared to a native solution.<br>
> However, it the last year another virtualization solution appeared,<br>
> this is the "docker".<br>
> Docker is an operating system level virtualization, therefore it does<br>
> not emulate CPU instructions, and in a lot of way, it's much lighter<br>
> than a classic virtual machine, and also much faster. An application<br>
> inside docker runs almost with native speed, the kernel only checks<br>
> the rights (e.g. file access, etc.)<br>
> ( <a href="http://en.wikipedia.org/wiki/Operating_system%E2%80%93level_virtualization" target="_blank">http://en.wikipedia.org/wiki/Operating_system%E2%80%93level_virtualization</a> )<br>
><br>
> So if you use 64bit Linux with kernel 3.8 or fresher, then you can use<br>
> docker. Windows machines, 32bit distributions, etc. are not supported,<br>
> or not in a way you think. (On windows docker starts a linux kernel<br>
> inside a virtual machine, so you lose the "lightweight" part.)<br>
><br>
> Docker is not an ultimate solution, but it is another option. Almost<br>
> like a virtual machine from management point of view with almost<br>
> native speed. Still, the native compiled GATE and the vGATE virtual<br>
> environment will have their roll, and docker is somewhere between<br>
> these two. There is another big deal with docker: portability. You can<br>
> move/copy your docker images inside your cluster and even the largest<br>
> cloud providers directly support docker images. (E.g. Google Cloud<br>
> Engine)<br>
><br>
> Of course, you should read the docker documentation: <a href="http://docs.docker.com/" target="_blank">http://docs.docker.com/</a><br>
><br>
> Well, how can you access the docker image?<br>
> First of all, you can create yours if you do not trust in my version.<br>
> Copy the content of the vGATE image into a tar.gz file, import it from<br>
> Docker, and run it with "su gate -l " option which will simulate a<br>
> login.<br>
><br>
> But I already made this, and a bit more. Docker has a hub (<br>
> <a href="https://registry.hub.docker.com/" target="_blank">https://registry.hub.docker.com/</a> ) where image files can be shared.<br>
> I published two vGATE image there: dvolgyes/vgate3 and dvolgyes/vgate3_vanilia.<br>
><br>
> The vanilia version means that it's unmodified (except I deleted the<br>
> apt cache to reduce the size.) It is nothing more than an imported<br>
> filesystem from the official vGATE image.<br>
> The dvolgyes/vgate3 image is a bit modified. First of all, if you run<br>
> it without parameters, then it will start a shell as "gate" user, and<br>
> everything has been set. But you can also run Gate directly (or other<br>
> scripts) in a non-interactive mode. For this I had to set some<br>
> environmental variables, and I had to modifiy the bash config files. I<br>
> also added "sudo" rights to the "gate" user. This image is better than<br>
> the vanilia, but I also wanted an unmodified version, because it can<br>
> be a good start for other customizations.<br>
><br>
> So the easiest way to try it:<br>
><br>
> docker run -t -i dvolgyes/vgate3 [COMMAND]<br>
><br>
> Where command can be anything, e.g. your simulation script, or just<br>
> "Gate", or anything else.<br>
> If you do not give any command, then a shell will start.<br>
><br>
> You can share directories between the host and the container, with<br>
> this: -v /HOSTDIR:/GUESTDIR<br>
> E.g.<br>
> docker run -v /opt/my_latest_simulation/:/opt/sim/ -t -i<br>
> dvolgyes/vgate3 /opt/sim/simulation.sh<br>
><br>
> The "run" command generates a new container every time from the image.<br>
> (Image is a read-only thing, container is an execution environment.<br>
> The relationship is like the class and object have in C++) When you<br>
> left the executed container, next time you probably want to start this<br>
> container with the "start" command.<br>
> You really should check the docker documentation at this point, at<br>
> least to understand the "run", "start" and the other command line<br>
> options in the above examples.<br>
><br>
> Docker images are generated from "Dockerfile" which is a kind of<br>
> recipe to build the image. I published mine at github, if you want to<br>
> check it, modify it, etc. Of course, it would be possible to recompile<br>
> GATE inside a docker container, but I wanted to stay as close as<br>
> possible to the vGATE version, so I use the exact same binaries. This<br>
> way you can easily compare the performance of the virtualbox and the<br>
> docker version.<br>
><br>
> So the github repository: <a href="https://github.com/dvolgyes/dockerfiles" target="_blank">https://github.com/dvolgyes/dockerfiles</a><br>
> (Check the GATE directory.)<br>
><br>
> I encourage everybody to try and use docker in general, because it's<br>
> cool. E.g. you can have several GATE/ROOT/Geant environments on the<br>
> same machine, and they are separated and still fast. You can use<br>
> cutting edge git version and change back to any previous version in a<br>
> few seconds. And so on.<br>
><br>
> Well, that's it. I hope it will be useful.<br>
> If you have any problem related to the docker images, please let me know.<br>
> But please, do not ask about GATE, read the GATE manual instead. The<br>
> same is true for vGATE and for docker (commands, install, etc.)<br>
><br>
><br>
> Best regards,<br>
> David<br>
> u.i.: I know that I did not finish the README file on github. I will<br>
> do it sometime.<br>
_______________________________________________<br>
Gate-users mailing list<br>
<a href="mailto:Gate-users@lists.opengatecollaboration.org">Gate-users@lists.opengatecollaboration.org</a><br>
<a href="http://lists.opengatecollaboration.org/mailman/listinfo/gate-users" target="_blank">http://lists.opengatecollaboration.org/mailman/listinfo/gate-users</a></div></div></blockquote></div><br><br clear="all"><div><br>
</div>-- <br><div dir="ltr">David Sarrut, Phd<br>Directeur de recherche CNRS<br>CREATIS, UMR CNRS 5220, Inserm U 1044<div>Centre de lutte contre le cancer Léon Bérard<br>28 rue Laënnec, 69373 Lyon cedex 08<br>Tel : 04 78 78 51 51 / 06 74 72 05 42<br>
<a href="http://www.creatis.insa-lyon.fr/~dsarrut" target="_blank">http://www.creatis.insa-lyon.fr/~dsarrut</a><br>_________________________________</div><div> "2 + 2 = 5, for extremely large values of 2"<br>_________________________________</div>
</div>
</div>