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.

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

docker-machine env [nom_màquina_virtual]
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)