====== Using Docker ======
LHC Docker images:
https://twiki.cern.ch/twiki/bin/view/LHCb/LHCbSoftOnDocker
==== Some initial tests ====
I installed Docker on my Macbook, it was quite easy following the directions on the Docker website.
I played around a little and located an SLC docker image. In a fresh terminal:
->boot2docker init
->boot2docker start
->export DOCKER_TLS_VERIFY=1
->export DOCKER_HOST=tcp://192.168.59.103:2376
->export DOCKER_CERT_PATH=/Users/childers/.boot2docker/certs/boot2docker-vm
->docker search slc6
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
cern/slc6-base Scientific Linux CERN 6 image ready to use... 2
cern/slc6-lite Lightweight CERN Scientific Linux 6 image 1
cmssw/slc6-vanilla 0
lvarin/slc6_vcs Personal slc6 image for VCS 0
asgc/slc65 Image forked from cern/slc6-base 0
lvarin/slc6_64 Base SLC6 image, no modifications from the... 0
acasajus/slc65 0
anaderi/slc6-devtoolset_1.1 0
cmssw/slc6-externals 0
-> docker pull cern/slc6-base
Pulling repository cern/slc6-base
3d85e4d2d936: Download complete
beca1e02f1eb: Download complete
79924a46c804: Download complete
Status: Downloaded newer image for cern/slc6-base:latest
-> docker pull cern/slc6-base:6.5
-> docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
cern/slc6-base 6.6 3d85e4d2d936 12 weeks ago 911.1 MB
cern/slc6-base latest 3d85e4d2d936 12 weeks ago 911.1 MB
cern/slc6-base 6.5 79924a46c804 6 months ago 402 MB
-> docker run cern/slc6-base:6.5 uname -a
Linux f4eea7db246b 3.16.7-tinycore64 #1 SMP Tue Dec 16 23:03:39 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
As a test I installed ROOT via yum into the image. The first command here starts an interactive container.
-> docker run -i -t cern/slc6-base:6.5
[root@19035251353f /]# yum install root.x86_64
.
. < yum installation STDOUT goes here >
.
[root@19035251353f /]# root -b
*******************************************
* *
* W E L C O M E to R O O T *
* *
* Version 5.34/20 12 August 2014 *
* *
* You are welcome to visit our Web site *
* http://root.cern.ch *
* *
*******************************************
ROOT 5.34/20 (heads/v5-34-00-patches@v5-34-19-251-gfb37e88, Aug 29 2014, 05:50:00 on linuxx8664gcc)
CINT/ROOT C/C++ Interpreter version 5.18.00, July 2, 2010
Type ? for help. Commands must be C++ statements.
Enclose multiple statements between { }.
root [0] .q
[root@19035251353f /]# exit
-> docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
19035251353f cern/slc6-base:6.5 "bash" 29 minutes ago Exited (0) 3 seconds ago ecstatic_brattain
-> docker commit -m "SLC6.5 with ROOT 5.34/20 installed" -a "Taylor Childers" 19035251353f jtchilders/slc65:root534
e0ebe08a3fce057499fcefdf6132c7e57aca605a1830f0abc84f97e431094cb2
Now I have my own SLC6.5 container with ROOT 5.34 installed.
Next I played with trying to run a root script so I made one:
mkdir vlocal
vim vlocal/root_test.C
#include
#include
int root_test(void){
string test = "Hello World";
std::cout << test << "\n";
return 0;
}
Then I wanted my container to mount my local directory and use this file:
-> docker run --volume=$PWD/vlocal:/vcont jtchilders/slc65:root534 root -b -q /vcont/root_test.C
*******************************************
* *
* W E L C O M E to R O O T *
* *
* Version 5.34/20 12 August 2014 *
* *
* You are welcome to visit our Web site *
* http://root.cern.ch *
* *
*******************************************
ROOT 5.34/20 (heads/v5-34-00-patches@v5-34-19-251-gfb37e88, Aug 29 2014, 05:50:00 on linuxx8664gcc)
CINT/ROOT C/C++ Interpreter version 5.18.00, July 2, 2010
Type ? for help. Commands must be C++ statements.
Enclose multiple statements between { }.
Processing /vcont/root_test.C...
Hello World
(int)0