You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Continguts

 

La idea és disposar d'un cluster de docker-engine i poder instanciar-hi allà els nostres contenidors docker. 

 

Docker Swarm: És l'encarregat d'enviar les instàncies dels contenidors als nodes del nostre clúster.

Consul: És l'encarregat de proporcionar el servei de discover dels nous nodes que afegim al clúster.

Requeriments previs

  • Docker Engine: Ens permet crear els contenidors, gestionar-los i instanciar-los
  • Docker Machine: Ens permet crear i gestionar les maquines virtuals
  • Driver Docker Machine Opennebula: Ens permet utilitzar el docker-machine al cloud de l'OpenNebula

Instal·lar el requeriments:

Per a poder implementar el docker swarm cluster amb l'OpenNebula hem d'instalar el Docker Engine, Docker Machine i el Driver Docker Machine Opennebula.

Aquí està el manual de com fer-ho: Docker Machine OpenNebula Driver

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

 Consul

Disposarem d'una maquina virtual que ens proporcionarà el servei de discover amb consul

docker-machine create -d opennebula --opennebula-network-id [network_id] --opennebula-image-id [image_id] --opennebula-b2d-size 10240 consul
docker $(docker-machine config consul) run -d -p "8500:8500" -h "consul" progrium/consul -server -bootstrap 

 


Docker Swarm










Exemple d'ús

Actualment disposeu de dues imatges, ja precreades amb el Docker Engine instal·lat que podeu fer servir:

Crear un contenidor amb nginx en una màquina Docker amb el driver de Docker Machine al OpenNebula:

  • Crear una màquina al OpenNebula amb el Docker Engine i un disc volatil de 10 GB amb la comanda:

    docker-machine  create --driver opennebula --opennebula-network-id $NETWORK_ID --opennebula-image-name boot2docker --opennebula-image-owner oneadmin --opennebula-b2d-size 10240 mydockerengine

    On $NETWORK_ID, serà l'ID de la xarxa on crearem la màquina amb Docker Engine. 

  • Podem comprovar que tot a funcionat bé amb la comanda:

    docker-machine ls


  • Les següents comandes ens mostra les variables d'entorn necessaries per accedir a la shell:

    docker-machine env mydockerengine
    eval $(docker-machine env mydockerengine)
  • Ara podem começar a fer servir docker sobre la màquina Docker Engine que acabem de crear:

    docker pull nginx
    docker run --name mynginx -d -p 80:80 nginx
  • Finalment, comprovem que podem accedir al servidor web que acabem de crear:





 

 

 

 

 

 

 

 

  • No labels