Docker: alles over containers

Docker-logo: met container geladen walvis

Zoals u al weet, zijn er verschillende soorten virtualisatie, een daarvan is virtualisatie op besturingssysteemniveau, en een van de projecten die in dit opzicht het meest opvalt, is dokwerker, samen met andere open-sourceprojecten zoals OpenVZ, LXC / LXD, Linux-VServer, enz., of de eigen Virtuozzo-software. Als je deze wereld kent of als je regelmatig bent op dit soort blogs, dan weet je al van het project waarvan het logo een walvis is (vandaar de titel voor degenen die het nog steeds niet kennen), en bovenal zul je het gemerkt hebben hoe haar aanwezigheid in de media en de belangstelling de laatste jaren exponentieel is toegenomen.

En het is dat deze nieuwe technologieën het heden en de toekomst zijn, vooral met de brute groei van services in de wolk waarover we zo vaak hebben gesproken. Docker, naast vele andere open source en gratis projecten, zijn degenen die deze uitbreiding en geweldige mogelijkheden mogelijk maken die we van de cloud nodig hebben. Maar wat is Docker? Wat is een container? Hoe werkt het?

Docker en containers:

Rancher OS

Hoewel het antwoord is wat ingewikkelder en ik zou verschillende van deze artikelen nodig hebben, ik zal proberen het samen te vatten. Als u echter meer wilt weten over dit fantastische project, zijn er zeer goede boeken, zoals Alberto González, de huidige Red Hat Cloud Consultant. Het is een praktische gids die u zowel in Amazone zoals in agape​ Nou, met dat gezegd, laten we eens kijken wat Docker is.

We weten allemaal dat De containers Ze zijn een tool geworden met veel potentieel in Linux, deze kunnen worden geïmplementeerd en beheerd dankzij Docker-software. Containers zijn niets meer dan geïsoleerde "dozen" met de essentie om een ​​bepaald programma of applicatie te kunnen draaien. Dit kan worden opgevat als een lichte virtuele machine, in plaats van de complete en zware waarmee in volledige virtualisatie wordt gewerkt. Deze vermindering vertaalt zich in minder overhead.

Containers brengen ook lichtheid draagbaarheid, zelfvoorziening en flexibiliteit zeer begeerd door ontwikkelaars. Allemaal dankzij LXC van onze favoriete kernel, Linux, en aan het Docker-project zelf, met zijn containers, images en repositories. En het zijn deze voordelen die het succes hebben gebracht, dat zowel werd opgemerkt door de betrokkenheid van enkele grote bedrijven in de sector zoals Google, Red Hat, IBM en Microsoft, als door de implementatie en goede ontvangst ervan in grote bedrijven en clouddiensten die we allemaal dagelijks gebruiken (AWS, Digital Ocean,…).

Installeer Docker stap voor stap:

Docker Cloud-webinterface

Je hebt verschillende alternatieven om Docker te installeren, van het verkrijgen van de tarball met de broncode en het compileren, tot het verkrijgen van binaire bestanden uit de verschillende repositories en het beheren ervan met de pakketbeheerders van uw openSUSE distro, Ubuntu, Debian, CentOS, Fedora, enz. Misschien is het met binaire pakketten comfortabeler, maar om het onderwerp niet te veel te verlengen, ga ik een meer directe en universele methode presenteren die in elke distributie werkt:

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

Zo simpel is het. Nu hebben we de duivel en de klant, de laatste zal degene zijn die interageert met de Docker-daemon en ons in staat zal stellen alles te doen wat deze software biedt. Maar er is nog steeds iets te doen, en dat is de service opheffen, dat wil zeggen, de Docker-daemon starten. Voor systemd kunt u het volgende doen:

sudo systemctl enable docker

sudo systemctl start docker

Als alles goed is gegaan, zal al actief zijn alle. U kunt het controleren met:

sudo systemctl status docker

We kunnen het nu gaan gebruiken ...

Eerste stappen: een container maken

Diagram van een container

Nou, zoals je al weet, de houder Het is een pakket met alles wat nodig is om een ​​of meer applicaties te laten draaien, dat wil zeggen vergelijkbaar met een virtuele machine, maar lichter afhankelijk van de host voor uitvoering. Om de container te laten werken, moet deze de nodige bibliotheken hebben voor uitvoering, evenals bepaalde afhankelijkheden, zoals sommige hulpprogramma's van het besturingssysteem. Een ander noodzakelijk onderdeel is natuurlijk de runtime-omgeving, dat wil zeggen een uitvoeringsomgeving zoals tolken voor geïnterpreteerde talen, JVM, bestanden met code of binaries, enz.

Er zijn er een paar basisopdrachten van Docker waarmee je binnen de omgeving "beweegt", ze zijn vrij talrijk, zoals info, insert, kill, stop, start, build, ps, etc. Om ze allemaal te zien en waar ze allemaal voor dienen, hoeft u alleen maar het volgende te doen:

docker

Voor meer informatie kunt u raadplegen de officiële documentatie.

Hoe kan je maak een container met Docker​ Welnu, nu gaan we een voorbeeld geven, we gaan een container maken met Ubuntu en hiervoor gebruiken we de opdracht run, waarmee we zowel containers kunnen maken als uitvoeren (meer informatie rennen -h):

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

En dat zal een lokale afbeelding gebruiken als we die al hebben of, als hij deze niet kan vinden, zal hij hem downloaden. Bovendien zal de container maken, zal ruimte toewijzen voor de nieuwe FS en deze koppelen. Uiteraard wijst u een netwerkinterface toe voor gast / host-communicatie. Eenmaal gedaan, zal het ons een echo laten zien met de zin «Containertest»Dat hebben we gezet.

U zie alle afbeeldingen wat heb je met:

docker images

En voor scheur ten eerste kunt u de container-ID gebruiken met:

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

Om ze te stoppen, u kunt stop gebruiken in plaats van start:

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

En dit is slechts de basis in Docker. Ik hoop dat het je heeft geholpen om aan de slag te gaan en de eerste stappen van velen te zetten, aangezien het je veel mogelijkheden kan bieden. Zoals u kunt zien, is het een zeer breed onderwerp en kunt u vanaf deze tutorial dieper ingaan of extra boeken kopen zoals die genoemd in de eerste alinea's, die ik aanbeveel vanwege de eenvoud in praktische uitleg. Vergeet niet uw opmerkingen achter te laten...


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: AB Internet Networks 2008 SL
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.

  1.   Sayabros zei

    Interessant, ik kijk uit naar de volgende artikelen, bedankt