Docker: tot sobre els contenidors

Logotip de Docker: balena carregada de contenidors

Com ja sabràs, hi ha diversos tipus de virtualització, un d'ells és la virtualització a nivell de sistema operatiu, i un dels projectes que més destaca en aquest sentit és docker, juntament amb altres projectes de codi obert com OpenVZ, lxc / LXD, Linux-VServer, etc., o el programari propietari Virtuozzo. Si coneixes aquest món o si ets assidu a aquest tipus de blocs, ja sabràs de el projecte el logo és una balena (d'aquí el títol per als que encara no ho sàpiguen), i sobretot hauràs notat com en aquests últims anys la seva presència a els mitjans i interès ha anat augmentant exponencialment.

I és que aquestes noves tecnologies són el present i el futur, sobretot amb el brutal creixement dels serveis en el núvol dels que tantes vegades hem parlat. Docker, entre molts altres projectes de codi obert i lliures, són els que estan permetent aquesta expansió i grans possibilitats que requerim del núvol. Però Què és Docker? Què és un contenidor? Com funciona?

Docker i contenidors:

ranxers

Encara que la resposta és una mica més complexa i necessitaria diversos d'aquests articles, intentaré resumir-ho. No obstant això, si necessites conèixer més sobre aquest fantàstic projecte, hi ha molt bons llibres com el d'Alberto González, actual Cloud Consultant de Red Hat. Es tracta d'una guia pràctica que podràs adquirir a un preu assequible tant en Amazon com en Àgapea. Bé, dit això, anem a conèixer què és Docker.

Tots sabem que els contenidors s'han transformat en una eina amb molt potencial en Linux, doncs bé, aquests poden implementar-se i gestionar-se gràcies a l'programari Docker. Els contenidors no són més que «caixes» aïllades amb l'essencial per poder executar un determinat programa o aplicació. Això es pot entendre com una màquina virtuals lleugera, en comptes de les completes i pesades amb les que es treballa en la virtualització completa. Aquesta reducció es tradueix en un menor overhead.

Els contenidors aporten lleugeresa, també portabilitat, autosuficiència, i una flexibilitat molt cobejada pels desenvolupadors. Tot gràcies lxc del nostre nucli favorit, Linux, i a el projecte Docker en si, amb els seus contenidors, imatges i repositoris. I són aquests avantatges les que han portat a l'èxit, que s'ha deixat notar tant per la implicació d'alguns grans de el sector com Google, Red Hat, IBM i Microsoft, com per la seva implantació i bona acollida en grans empreses i serveis cloud que tots fem servir diàriament (AWS, Digital Ocean, ...).

Instal·lar Docker pas a pas:

Interfície web Docker Cloud

Tens diverses alternatives per instal·lar Docker, Des obtenir el fitxer tar amb el codi font i compilar, fins fer-te amb binaris des dels diferents repositoris i gestionar-los amb els gestors de paquets de la teva distro openSUSE, Ubuntu, Debian, CentOS, Fedora, etc. Potser amb els paquets binaris sigui més còmode, però per no allargar massa el tema, vaig a exposar un mètode més directe i universal que funciona en qualsevol distribució:

sudo curl -fsSL https://get.docker.com/ | sh

Així de senzill. Ara ja tenim el dimoni i el client, Aquest últim serà el que interactuï amb el dimoni de Docker i ens permetrà fer tot el que ofereix aquest programari. Però encara queda alguna cosa per fer, i és aixecar el servei, és a dir, iniciar el dimoni de Docker. Per systemd pots fer el següent:

sudo systemctl enable docker

sudo systemctl start docker

Si tot ha anat bé, ja estarà actiu tot. Pots comprovar-ho amb:

sudo systemctl status docker

Ja podem començar a utilitzar-...

Primers passos: creant un contenidor

Diagrama d'un contenidor

Bé, com ja saps, el contenidor és un paquet amb tot el necessari perquè una o diverses aplicacions es puguin executar, és a dir, similar a una màquina virtual, però més lleuger a l'dependre el sistema principal per a l'execució. Perquè el contenidor funcioni ha de tenir les biblioteques necessàries per a l'execució, així com certes dependències, com algunes eines de sistema operatiu. Per descomptat, una altra de les parts necessàries és el runtime environment, és a dir, un entorn d'execució com ara els intèrprets de per als llenguatges interpretats, JVM, els fitxers amb el codi o binaris, etc.

existeixen uns ordres bàsiques de Docker amb els que et «mouràs» ​​dins l'entorn, són bastant nombrosos, com info, insert, kill, stop, start, build, ps, etc. Per poder veure'ls a tots i per a què serveix cada un, et bastarà amb executar:

docker

Per a més informació pots consultar la documentació oficial.

Com es pot crear un contenidor amb Docker? Bé, ara anem a posar un exemple, crearem un contenidor amb Ubuntu i per això fem servir la comanda run, que permet tant crear com executar contenidors (més informació run -h):

docker run -i -t ubuntu /bin/echo Prueba contenedor

I això farà servir una imatge local si ja la tenim o, de no trobar-la, la descarregarà. A més crearà el contenidor, Assignarà espai per al nou FS i el muntarà. Per descomptat assignarà una interfície de xarxa per a la comunicació guest / host. Un cop realitzat, ens mostrarà un fet amb la frase «prova contenidor»Que hem posat.

Pots veure totes les imatges que tens amb:

docker images

I per arrencar un, pots fer servir l'identificador de l'contenidor amb:

docker start -a <pon-la-ID-del-container>

Per aturar-los, pots emprar stop en comptes de start:

docker stop <pon-la-ID-del-container>

I això només és el més bàsic en Docker. Espero que t'hagi servit d'ajuda per iniciar-te i donar les primeres passes de molts, ja que pot donar-te moltes possibilitats. Com veus és un tema molt ampli i en el qual pots aprofundir començant per aquest tutorial o adquirir llibres addicionals com el citat en els primers paràgrafs, el quin recomano per la seva senzillesa en les explicacions pràctiques. No oblidis deixar els teus comentaris...


Un comentari, deixa el teu

Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: AB Internet Networks 2008 SL
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   sayabros va dir

    Interessant, esperaré amb ànsies els propers articles, gràcies