Per a instal·lar el nostre servidor web utilitzarem Docker. Docker és una tecnologia que ens permet simular una màquina virtual que implementa un determinat servei però utilitzant molt menys recursos de la màquina real. Així, si per a tenir una màquina virtual és necessari instal·lar tot un sistema operatiu en la màquina virtual, amb Docker s'instal·larà només el Kernel del sistema operatiu. Aquest fet implica també que l'execució del Docker sigui molt més lleugera que la d'una màquina virtual apart d'ocupar molt menys espai. En la màquina virtual s'està executant tot el sistema operatiu mentre que amb Docker només s'està executant el nucli del sistema operatiu. Si comparem l'espai de disc ocupat, la diferència entre Docker i màquina virtual és abismal: unes 2 GB per a una màquina virtual amb un servidor web instal·lat, mentre que la mateixa instal·lació amb Docker és d'uns 200 MB.

Instal·lació

Per a utilitzar Docker cal instal·lar aquest sistema en la nostra màquina. La instal·lació del paquet Docker ens facilita el DockerEngine, que és el motor de Docker que s'encarrega d'interactuar amb la nostra màquina física.

Per a instal·lar Docker serà necessari descarregar-nos els paquets binaris per a la nostra distribució de la pàgina web. Per a la instal·lació dels paquets binaris utilitzem la comanda dpkg

Video: https://www.youtube.com/watch?v=A91Q77HD_C8

Crear imatge

Per crear una imatge el primer que hem de fer és generar un fitxer que tingui per nom Dockerfile . En aquest fitxer haurem d'incloure totes les instruccions necessàries per a configurar la màquina: instal·lació de paquets, configuració de variables d'entorn...

Per a generar la imatge utilitzem la comanda docker build , tot i que aquesta comanda disposa de molts arguments per a configurar la nostra imatge, en el nostre cas ens limitarem a l'opció -t o --tag , que ens serveix per assignar un nom a la imatge.


docker build -t web .

La comanda anterior crearia una imatge de nom web a partir de la informació ubicada en la carpeta actual. Cal tenir en compte que la comanda docker build sempre cerca un fitxer de nom Dockerfile per a poder crear la imatge que ens ha de permetre executar el contenidor. Amb l'argument --file o -f podem especificar un nom de fitxer diferent.

Si la imatge s'ha generat sense problemes, podem utilitzar la comanda docker image -ls per a veure totes les imatges disponibles.

Cal tenir en compte que les imatges són estàtiques. Si faig canvis a un contenidor aquests, per defecte, no es guardaran. Per exemple, si para el contenidor i el torno a arrencar tots els canvis que s'hagin fet dins del contenidor hauran desaparegut. Sí que hi ha una opció commit per a traspassar els canvis d'un contenidor a una imatge.

Executar un contenidor

Per executar un contenidor utilitzem la comanda docker run . Aquesta comanda accepta múltiples paràmetres:

Paràmetre Descripció
-d Executar el contenidor en background
-p Associar un port de la màquina host al contenidor
-- name Associar un nom al contenidor

docker run -d -p 80:80 web    # web és el nom de la imatge generada anteriorment

Llistar tots els contenidors executant-se

Utilitzarem la comanda docker ps per a obtenir un llistat de tots els contenidors del sistema que s'estan executant.

Aturar un contenidor

Per aturar un contenidor utilitzarem la comanda docker stop .


docker stop <nom container o ID>

Quan s'atura un contenidor aquest no s'elimina del sistema. Per a eliminar un contenidor utilitzem la comanda docker container rm


docker container rm <nom container o ID>

Per a obtenir l'identificador d'un contenidor aturat hem d'utilitzar la comanda docker container ls amb l'argument -a


docker container ls -a

Amb la comanda docker system prune eliminem els contenidors i imatges que no s'estiguin executant. Per tant, si tenim tots els contenidors aturats, l'execució d'aquesta comanda esborrarà totes les imatges. Haurem de tornar a construir aquestes imatges a partir dels fitxers DockFile. No cal dir-ho però és important utilitzar aquesta comanda amb precaució!!

Interactuar amb el contenidor

Amb la comanda docker ps podem obtenir el nom del contenidor o bé el seu ID. Utilitzant aquest ID o nom podem obrir una sessió interactiva amb la comanda:

docker ps
docker exec <nom container o ID> /bin/bash

Crea un volum compartit entre host i contenidor

En la màquina física , host, la carpeta s'ubicarà en /var/lib/docker/volumes . Els arxius que es crein en aquesta carpeta seran accessibles pel contenidor.

results matching ""

    No results matching ""