Per a poder llançar maquines virtuals a l'OpenNebula amb docker-machine i després crear i instanciar-hi contenidors necessitem tenir instal·lat al nostre ordinador el següent programari:

Instal·lar docker-machine

Des de l'usuari root per descargar-nos el binari executem:

curl -L https://github.com/docker/machine/releases/download/v0.6.0/docker-machine-`uname -s`-`uname -m` > /usr/local/bin/docker-machine && \
chmod +x /usr/local/bin/docker-machine

Un cop instal·lat, per comprovar que podeu executar docker-machine, executeu des del vostre usuari:

docker-machine version

Si us digués que no troba el binari, executeu:

export PATH=$PATH:/usr/local/bin

 

Més info a: https://docs.docker.com/machine/install-machine/


Instal·lar el driver per a OpenNebula de docker-machine

 Abans d'instal·lar el driver, hem de preparar l'equip per a l'instal·lació.

Preparació Sistema

Paquet GO

wget https://storage.googleapis.com/golang/go1.6.linux-amd64.tar.gz
tar -C /usr/local -xvzf go1.6.linux-amd64.tar.gz
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin

 

En creem el directori work en el nostre espai de treball, per exemple al $HOME:

mkdir $HOME/work

Indiquem les variables d'entorn necessàries:

export GOPATH=$HOME/work
export PATH=$PATH:$GOPATH/bin

Paquet GIT

sudo apt-get install git

Paquet GODEP

go get github.com/tools/godep

Paquet BZR

sudo apt-get install bzr

 Instal·lació del driver

go get github.com/OpenNebula/docker-machine-opennebula
cd $GOPATH/src/github.com/OpenNebula/docker-machine-opennebula
make build

Copiem el binari:

make install

ONE_AUTH i ONE_XMLRPC

Ens creem un fitxer on indicarem el nostre usuari i password de l'OpenNebula

usuari:password

Creem les variables d'entorn necessàries:

export ONE_AUTH=path_al_fixer_one_auth
export ONE_XMLRPC=https://iaas.csuc.cat:2633/RPC2

 

Més info a: https://github.com/OpenNebula/docker-machine-opennebula

Instal·lar docker-engine

 https://docs.docker.com/engine/installation/linux/

 

Com utilitzar docker-machine

Crear la màquina virtual

Existeix una imatge a l'OpenNebula d'un sistema operatiu on ja està instal·lat el docker i on podem llançar contenidors, es diu boot2docker. També existeix una versió d'Ubuntu.

Si no està disponible, des del Marketplace de l'OpenNebula en la descarreguem.

Un cop tenim descarregada la imatge, creem la màquina virtual:

docker-machine create --driver opennebula --opennebula-image-id [num_imatge_boot2docker] --opennebula-network-id [num_xarxa] [nom_màquina_virtual]

Més opcions:

Enllaçar la shell local amb la de la maquina virtual

Ara el que farem serà connectar la nostra shell local a la de la màquina virtual perquè cada cop que executem docker, aquest dongui ordres al docker instal·lat a la màquina virtual.

Obtenin les variables d'entorn de la maquina virtual.

docker-machine env [nom_màquina_virtual]

Linkem la shell.

eval "$(docker-machine env [nom_màquina_virtual])"

Ara ja podem utilitzar docker normalment.

 

Per mantenir les noves variables d'entorn de manera persistent, afegiu-les al vostre .profile ($HOME/.profile)