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:
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/
Abans d'instal·lar el driver, hem de preparar l'equip per a l'instal·lació.
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 |
sudo apt-get install git |
go get github.com/tools/godep |
sudo apt-get install bzr |
go get github.com/OpenNebula/docker-machine-opennebula |
cd $GOPATH/src/github.com/OpenNebula/docker-machine-opennebula |
make build |
Copiem el binari:
make install |
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
https://docs.docker.com/engine/installation/linux/
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] |
--opennebula-cpu
: CPU value for the VM--opennebula-vcpu
: VCPUs for the VM--opennebula-memory
: Size of memory for VM in MB--opennebula-template-id
: Template ID to use--opennebula-template-name
: Template to use--opennebula-network-id
: Network ID to connect the machine to--opennebula-network-name
: Network to connect the machine to--opennebula-network-owner
: User ID of the Network to connect the machine to--opennebula-image-id
: Image ID to use as the OS--opennebula-image-name
: Image to use as the OS--opennebula-image-owner
: Owner of the image to use as the OS--opennebula-dev-prefix
: Dev prefix to use for the images: 'vd', 'sd', 'hd', etc...--opennebula-disk-resize
: Size of disk for VM in MB--opennebula-b2d-size
: Size of the Volatile disk in MB (only for b2d)--opennebula-ssh-user
: Set the name of the SSH user--opennebula-disable-vnc
: VNC is enabled by default. Disable it with this flagdocker-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) |