Docker Tutorial - Introduktion til Docker & Containerization



I denne Docker-selvstudie vil du forstå nødvendigheden bag Docker og få en introduktion til Docker. Det er den første blog i Docker-tutorial-serien

Jeg håber, du ikke har gået glip af serien af ​​tidligere DevOps tutorial blogs. Gå gennem her.Den ukontainerbare tendens med Docker-container vokser, og organisationer leder efter fagfolk, der besidder .Denne gang tager vi dig gennem en introduktion til Docker.

Docker-vejledning

Denne Docker-selvstudieblog giver dig den konceptuelle og praktiske eksponering for Docker - En new age containeriseringsteknologi.





I denne blog vil vi fokusere på nedenstående emner:

  • Hvad er virtualisering?
  • Hvad er containerisering
  • Fordele ved containerisering frem for virtualisering
  • Introduktion til Docker
  • Fordele ved Docker
  • Virtualisering vs Containerization
  • Docker-installation
  • Dockerfile, Docker Image & Docker Container
  • Hvad er Docker Hub?
  • Docker-arkitektur
  • Docker komponere

Docker vinder popularitet, og dens anvendelse spredes som en løbeild. Årsagen til Dockers voksende popularitet er, i hvilket omfang den kan bruges i en it-organisation. Meget få værktøjer derude har funktionaliteten til at finde sig nyttige til både udviklere og såvel systemadministratorer. Docker er et sådant værktøj, der virkelig lever op til sit løfte om Byg , Skib og Løb .



Med enkle ord er Docker en software containeriseringsplatform, hvilket betyder at du kan opbygge din applikation, pakke dem sammen med deres afhængigheder i en container, og så kan disse containere let sendes til at køre på andre maskiner.

For eksempel: Lad os overveje en linux-baseret applikation, som er skrevet både i Ruby og Python. Denne applikation kræver en specifik version af linux, Ruby og Python. For at undgå enhver versionskonflikt i slutningen af ​​brugeren kan der oprettes en linux-docker-container med de nødvendige versioner af Ruby og Python installeret sammen med applikationen. Nu kan slutbrugerne bruge applikationen let ved at køre denne container uden at bekymre sig om afhængigheder eller versionskonflikter.

Disse containere bruger Containerization, som kan betragtes som en udviklet version af Virtualization. Den samme opgave kan også opnås ved hjælp af virtuelle maskiner, men den er ikke særlig effektiv.



Jeg modtager generelt et spørgsmål på dette tidspunkt, dvs. hvad er forskellen mellem virtualisering og containerisering? Disse to udtryk ligner hinanden meget. Så lad mig først fortælle dig Hvad er virtualisering?

Hvad er virtualisering?

Virtualisering er teknikken til at importere et Guest-operativsystem oven på et Host-operativsystem. Denne teknik var en åbenbaring i begyndelsen, fordi den tillod udviklere at køre flere operativsystemer på forskellige virtuelle maskiner, som alle kørte på den samme vært. Dette eliminerede behovet for ekstra hardware-ressource. Fordelene ved virtuelle maskiner eller virtualisering er:

hvordan man konverterer streng til dato i java
  • Flere operativsystemer kan køre på den samme maskine
  • Vedligeholdelse og genopretning var let i tilfælde af svigt
  • De samlede ejeromkostninger var også mindre på grund af det reducerede behov for infrastruktur

Virtual Machine Architecture - Docker-vejledning om introduktion til Docker - Edureka

I diagrammet til højre kan du se, at der er et værtsoperativsystem, hvor der kører 3 gæstoperativsystemer, der kun er de virtuelle maskiner.

Som du ved, er intet perfekt, virtualisering har også nogle mangler. At køre flere virtuelle maskiner i det samme værtsoperativsystem fører til forringelse af ydeevnen. Dette skyldes gæstens OS, der kører oven på værts-OS, som har sin egen kerne og et sæt biblioteker og afhængigheder. Dette optager et stort stykke systemressourcer, dvs. harddisk, processor og især RAM.

Et andet problem med Virtual Machines, der bruger virtualisering, er at det tager næsten et minut at starte op.Dette er meget kritisk i tilfælde af realtidsapplikationer.

Følgende er ulemperne ved virtualisering:

  • At køre flere virtuelle maskiner fører til ustabil præstation
  • Hypervisors er ikke så effektive som værtsoperativsystemet
  • Opstartsprocessen er lang og tager tid

Disse ulemper førte til fremkomsten af ​​en ny teknik kaldet Containerization. Lad mig nu fortælle dig om containerisering.

Hvad er containerisering?

Containerisering er teknikken til at bringe virtualisering til operativsystemniveauet. Mens virtualisering bringer abstraktion til hardware, bringer Containerization abstraktion til operativsystemet. Bemærk, at Containerization også er en type virtualisering. Containerisering er dog mere effektiv, fordi der ikke er noget gæstesystem her og bruger værts operativsystem, deler relevante biblioteker og ressourcer efter behov i modsætning til virtuelle maskiner. Applikationsspecifikke binære filer og biblioteker med containere kører på værtskernen, hvilket gør behandling og udførelse meget hurtigt. Selv opstart af en container tager kun en brøkdel af et sekund. Fordi alle containere deler, hoster operativsystemet og kun indeholder de applikationsrelaterede binære filer og biblioteker. De er lette og hurtigere end virtuelle maskiner.

Fordele ved containerisering frem for virtualisering:

  • Beholdere på den samme OS-kerne er lettere og mindre
  • Bedre ressourceudnyttelse sammenlignet med virtuelle computere
  • Opstartsprocessen er kort og tager få sekunder

I diagrammet til højre kan du se, at der er et værtsoperativsystem, der deles af alle containerne. Containere indeholder kun applikationsspecifikke biblioteker, der er separate for hver container, og de er hurtigere og spilder ikke ressourcer.

Alle disse containere håndteres af containeriseringslaget, som ikke er hjemmehørende i værtsoperativsystemet. Derfor er der brug for en software, der kan gøre det muligt for dig at oprette og køre containere på dit værtsoperativsystem.

Tjek denne Docker-vejledningsvideo for en dyb forståelse af Docker.

Docker-vejledning til begyndere Hvad er Docker? | DevOps-værktøjer | Edureka

Lad mig nu tage dig gennem introduktionen til Docker.

Docker-vejledning - Introduktion til Docker

Docker er en containeriseringsplatform, der pakker din applikation og alle dens afhængigheder sammen i form af containere for at sikre, at din applikation fungerer problemfrit i ethvert miljø.

Som du kan se i diagrammet til højre, kører hver applikation på en separat beholder og har sit eget sæt biblioteker og afhængigheder. Dette sikrer også, at der er procesniveauisolering, hvilket betyder, at hver applikation er uafhængig af andre applikationer, hvilket giver udviklere sikkerhed for, at de kan bygge applikationer, der ikke forstyrrer hinanden.

Som udvikler kan jeg bygge en container, der har forskellige applikationer installeret, og give den til mit QA-team, der kun behøver at køre containeren for at replikere udviklermiljøet.

Fordele ved Docker

Nu behøver QA-teamet ikke at installere al den afhængige software og applikationer til at teste koden, og dette hjælper dem med at spare masser af tid og energi. Dette sikrer også, at arbejdsmiljøet er konsistent på tværs af alle de personer, der er involveret i processen, startende fra udvikling til implementering. Antallet af systemer kan let skaleres op, og koden kan ubesværet implementeres på dem.

Virtualisering vs Containerization

Virtualisering og containerisering lader dig begge køre flere operativsystemer inde i en værtsmaskine.

Virtualisering beskæftiger sig med oprettelse af mange operativsystemer i en enkelt værtsmaskine. Containerisering på den anden side opretter flere containere til alle typer applikationer efter behov.

t sql datatype

Figur: Hvad er Big Data Analytics - Virtualisering versus Containerization

Som vi kan se på billedet, er den største forskel, at der er flere gæstoperativsystemer i virtualisering, som ikke er til stede i containerisering. Den bedste del af Containerization er, at den er meget let sammenlignet med den tunge virtualisering.

Lad os nu installere Docker.

Installer Docker:

Jeg installerer Docker i min Ubuntu 17.10-maskine. Følgende er trinene til installation af Docker:

  1. Installer krævede pakker
  2. Opsæt Docker-lager
  3. Installer Docker på Ubuntu

1. Installer påkrævede pakker:

Der er visse pakker, du har brug for i dit system til installation af Docker. Udfør nedenstående kommando for at installere disse pakker.

sudo apt-get install curl apt-transport-https ca-certifikater software-egenskaber-fælles

2. Opsæt Docker-lager:

Importer nu Dockers officielle GPG-nøgle for at kontrollere pakkesignatur, inden du installerer dem med apt-get. Kør nedenstående kommando på terminalen:

krølle -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key tilføj

Tilføj nu Docker-lageret på dit Ubuntu-system, der indeholder Docker-pakker inklusive dets afhængigheder, for at udføre nedenstående kommando:

sudo add-apt-repository 'deb [arch = amd64] https://download.docker.com/linux/ubuntu $ (lsb_release -cs) stabil'

3. Installer Docker på Ubuntu:

Nu skal du opgradere apt index og installere Docker community-udgave, for at udføre nedenstående kommandoer:

sudo apt-get opdater sudo apt-get installer docker-ce

Tillykke! Du har installeret Docker. Tjek også et par almindeligt anvendte Docker-kommandoer .

Lad os nu se et par vigtige Docker-koncepter.

Dockerfil, Docker-billede og Docker-container:

  1. Et Docker-billede oprettes af rækkefølgen af ​​kommandoer skrevet i en fil kaldet Dockerfile.
  2. Når denne Dockerfil udføres ved hjælp af en docker-kommando, resulterer det i et Docker-billede med et navn.
  3. Når dette billede udføres med 'docker run' -kommandoen, starter det i sig selv det program eller den service, det skal starte ved dets udførelse.

Docker Hub:

Docker Hub er som GitHub til Docker-billeder. Det er dybest set en skyregistrering, hvor du kan finde Docker-billeder uploadet af forskellige samfund, også kan du udvikle dit eget billede og uploade på Docker Hub, men først skal du oprette en konto på DockerHub.

ssis tutorial trin for trin

Docker-arkitektur:

Den består af en Docker Engine, som er en klientserverapplikation med tre hovedkomponenter:

  1. En server, der er en type langvarigt program kaldet en dæmonproces (docker-kommandoen).
  2. En REST API, der specificerer grænseflader, som programmer kan bruge til at tale med dæmonen og instruere den, hvad de skal gøre.
  3. En CLI-klient (Command Line Interface) (docker-kommandoen).
  4. CLI bruger Docker REST API til at kontrollere eller interagere med Docker-dæmonen gennem scripting eller direkte CLI-kommandoer. Mange andre Docker-applikationer bruger den underliggende API og CLI.

Se denne blog for at læse mere om .

Endelig i denne Docker Tutorial-blog vil jeg tale om Docker Compose.

Docker komponere:

Docker Compose bruges grundlæggende til at køre flere Docker Containers som en enkelt server. Lad mig give dig et eksempel:

Antag, at hvis jeg har en applikation, der kræver WordPress, Maria DB og PHP MyAdmin. Jeg kan oprette en fil, der starter begge containere som en tjeneste uden behov for at starte hver enkelt separat. Det er virkelig nyttigt, især hvis du har en mikroservicearkitektur.

Henvis min blog til Docker Container at forstå, hvordan man udfører det praktisk.

Du kan også læse denne blog om, hvordan du kan containerisere en gennemsnitlig stakapplikation ved hjælp af Docker Compose.

Med dette kommer vi til en ende på Docker Tutorials første blog om Introduktion til Docker & Containerization.

Gå gennem vores næste blog på Docker:

Nu hvor du har forstået, hvad der er DevOps, skal du tjekke vores af Edureka, et pålideligt online læringsfirma med et netværk på mere end 250.000 tilfredse elever spredt over hele kloden. Edureka DevOps-certificeringskursus hjælper elever med at få ekspertise i forskellige DevOps-processer og -værktøjer som Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack og GIT til automatisering af flere trin i SDLC.

Har du et spørgsmål til os? Nævn det i kommentarfeltet, og vi vender tilbage til dig.