Un registre és un lloc on es guarden les imatges que es fan servit per desplegar contenidors
Distribuir una imatge
Una imatge és un conjunt de capes de sistemes de fitxers superposades una sobre l’altre.
Tar
Una de les formes d’empaquetar una imatge és crear un fitxer tar amb totes els sistemes de fitxers.
Aquest arxiu tar el pots distribuir com vulguis, per exemple:
La comanda et retorna una url temporal que permet descarregar el fitxer:
https://transfer.sh/n2BnLD/site.tar
Esborra la imatge del site que tens en la cache, i verifica que ja no la tens:
Si ara intentes arrencar un contenidor amb la imatge site et donarà un error:
Pots tornar a carregar la imatge site a la cache:
Com pots veure, la imatge està formada per 7 capes de sistemes de fitxers.
Ara ja pots executar un contenidor amb la imatge site:
Registre
Un dels altres mecanismes de distribució de imatges són registres especialitzats com Docker Hub.
Una imatge està formada per varies capes, i moltes d’aquestes capes son comunes en moltes imatges.
Aquests registres guarden i distribueixen capes.
Si nosaltres pujem la nostra imatge, només es pujaran les capes que no estan registrades en el registre.
Crea un compte a docker hub, un servei gratuït dins d’uns límits, podem pujar la nostre imatge.
Primer ens hem d’autenticar:
Després has de marcar la imatge amb un tag que comença amb el teu non d’usuaria Docker Hub:
Ara tenim dos imatges site amb repositori i tag diferent, però la mateixa id.
La id d’una imatge és el hash, i com que els dos hash són idèntics, tenen el mateix hash, i per tant la mateixa id.
Ja podem pujar la imatge marcada:
Com pots veure docker només puja el sistema de fitxers 9e94faaa3f2 perquè els altres pertanyen a nginx i ja els té.
A l’adreça https://hub.docker.com/r/xtecd/site/tags pots trobar la image.
Borra la imatge xtecd/site i executa un contenidor amb la imatge xtecd/site:
Codi font
Avui en dia el software es distribueix en contenidors, i el mateix codi del projecte ja està preparat per construir una imatge.
Per exemple, aquest és un projecte per crear una aplicació web: https://gitlab.com/xtec/python/vite
Tu com administrador, no has de saber res de Python, ni de dependències, etc.
Tampoc has de saber de programari d’integració contínua ni els de desplegament han de conèixer les interioritats del projecte.
Ara veuràs perquè.
Clona el projecte, construeix la imatge i arrenca un contenidor:
Pots veure l’aplicació a http://localhost
És així de senzill !