Date: Thu, 28 Mar 2024 22:55:20 +0100 (CET) Message-ID: <650538250.168.1711662920329@confluence-pro> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_167_1535130898.1711662920328" ------=_Part_167_1535130898.1711662920328 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
Per a poder crear m=C3=A0quines Docker Engine a l'OpenNebula podem fer s= ervir el driver de docker-machine, un cop instal=C2=B7lat podrem crear i in= stanciar els nostres contenidors de Docker.
Com a usuari privilegiat, ens descarreguem el bin= ari executem:
curl -L https://g= ithub.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=C2=B7lat, per comprovar que podeu executar docker-machine,= executeu des del vostre usuari:
docker-machine ve= rsion
Si us digu=C3=A9s que no troba el binari, executeu:
export PATH=3D$PA= TH:/usr/local/bin
Podeu trobar m=C3=A9s informaci=C3=B3 a: http= s://docs.docker.com/machine/install-machine/
Abans d'instal=C2=B7lar el driver, hem de preparar l'equip per a l= 'instal=C2=B7laci=C3=B3.
wget https://stor= age.googleapis.com/golang/go1.6.linux-amd64.tar.gz tar -C /usr/local -xvzf go1.6.linux-amd64.tar.gz export GOROOT=3D/usr/local/go export PATH=3D$PATH:$GOROOT/bin
En creem el directori work en el nostre espai de treball, per exemple al= $HOME:
mkdir $HOME/work<= /pre>
Indiquem les variables d'entorn necess=C3=A0ries:
export GOPATH=3D$= HOME/work export PATH=3D$PATH:$GOPATH/bin
sudo apt-get inst= all git bzr
go get github.com= /tools/godep
go get github.com= /OpenNebula/docker-machine-opennebula cd $GOPATH/src/github.com/OpenNebula/docker-machine-opennebula make build make install
Ens creem un fitxer on indicarem el nostre usuari i password de l'OpenNe= bula
mkdir -p $HOME/.o= ne echo usuari:password > $HOME/.one/one_auth
Creem les variables d'entorn necess=C3=A0ries:
export ONE_AUTH= =3D$HOME/.one/one_auth export ONE_XMLRPC=3Dhttp://iaas.csuc.cat:2633/RPC2
Podeu trobar m=C3=A9s informaci=C3=B3 a: https://github.com/OpenNebula/docker-machine-opennebula
https://docs.docker.com/engine/instal= lation/linux/
Existeix una imatge a l'OpenNebula d'un sistema operatiu on ja est=C3=A0= instal=C2=B7lat el docker i on podem llan=C3=A7ar contenidors, es diu boot= 2docker. Tamb=C3=A9 existeix una versi=C3=B3 d'Ubuntu.
Si no est=C3=A0 disponible, des del Marketplace de l'OpenNebula en la de= scarreguem.
Un cop tenim descarregada la imatge, creem la m=C3=A0quina virtual:
docker-machine cr= eate --driver opennebula --opennebula-image-id [num_imatge_boot2docker] --o= pennebula-network-id [num_xarxa] --opennebula-b2d-size [mida_en_MB] [nom_m= =C3=A0quina_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 conn=
ect 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 (on=
ly for b2d)--opennebula-ssh-user
: Set the name of the SSH user--opennebula-disable-vnc
: VNC is enabled by default. Disab=
le it with this flagAra el que farem ser=C3=A0 connectar la nostra shell local a la de la m= =C3=A0quina virtual perqu=C3=A8 cada cop que executem docker, aquest dongui= ordres al docker instal=C2=B7lat a la m=C3=A0quina virtual.
Obtenim les variables d'entorn de la maquina virtual.
docker-machine en= v [nom_m=C3=A0quina_virtual]
Linkem la shell.
eval "$(docker-ma= chine env [nom_m=C3=A0quina_virtual])"
Ara ja podem utilitzar docker normalment.
Variables d'entorn
Per mantenir les noves variables d'entorn de manera persistent, afegiu-l= es al vostre .profile ($HOME/.profile)
Actualment disposeu de dues imatge= s, ja precreades amb el Docker Engine instal=C2=B7lat que podeu fer servir:=
Crear un contenidor amb= nginx en una m=C3=A0quina Docker amb el driver de Docker Machine al OpenNe= bula:
Crear una m=C3=A0quina al OpenNebula amb el Docker Engine i =
un disc volatil de 10 GB amb la comanda:
docker-machine c= reate --driver opennebula --opennebula-network-id $NETWORK_ID --opennebula-= image-name boot2docker --opennebula-image-owner oneadmin --opennebula-b2d-s= ize 10240 mydockerengine
On $NETWORK_ID, ser=C3=A0 l'ID de la xarxa on crearem la m=C3=A0quina am= b Docker Engine.
Podem comprovar que tot a funcionat b=C3=A9 amb la comanda:<= /strong>
docker-machine ls=
=
p>
Les seg=C3=BCents comandes ens mostra les variables d'entorn= necessaries per accedir a la shell:
docker-machine en= v mydockerengine eval $(docker-machine env mydockerengine)
Ara podem come=C3=A7ar a fer servir docker sobre la m=C3=A0q= uina Docker Engine que acabem de crear:
docker pull nginx docker run --name mynginx -d -p 80:80 nginx