Docker Tutorial - Introduksjon til Docker & Containerization



I denne Docker-opplæringen vil du forstå nødvendigheten bak Docker og få en introduksjon til Docker. Det er den første bloggen i Docker-opplæringsserien

Jeg håper du ikke har gått glipp av serien med tidligere DevOps tutorial blogger. Gå gjennom her.Den uholdbare trenden med Docker container vokser og organisasjoner leter etter fagpersoner som har .Nå denne gangen tar vi deg gjennom en introduksjon til Docker.

forskjellen mellom bigdata og hadoop

Docker-veiledning

Denne Docker-opplæringsbloggen gir deg den konseptuelle og praktiske eksponeringen for Docker - En new age-containeriseringsteknologi.





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

  • Hva er virtualisering?
  • Hva er containerisering
  • Fordeler med containerisering fremfor virtualisering
  • Introduksjon til Docker
  • Fordeler med Docker
  • Virtualisering vs Containerization
  • Docker-installasjon
  • Dockerfile, Docker Image & Docker Container
  • Hva er Docker Hub?
  • Docker-arkitektur
  • Docker Compose

Docker er i ferd med å få popularitet, og bruken sprer seg som et ild. Årsaken til Dockers økende popularitet er i hvilken grad den kan brukes i en IT-organisasjon. Svært få verktøy der ute har funksjonaliteten til å finne seg nyttige for både utviklere og for systemadministratorer. Docker er et slikt verktøy som virkelig lever opp til sitt løfte om Bygge , Skip og Løpe .



Med enkle ord er Docker en programvarebeholderplattform, noe som betyr at du kan bygge applikasjonen din, pakke dem sammen med deres avhengighet i en container, og deretter kan disse containerne enkelt sendes for å kjøre på andre maskiner.

For eksempel: La oss vurdere et linuxbasert program som er skrevet både i Ruby og Python. Denne applikasjonen krever en spesifikk versjon av linux, Ruby og Python. For å unngå versjonskonflikter på slutten av brukeren, kan det opprettes en linux docker-container med de nødvendige versjonene av Ruby og Python installert sammen med applikasjonen. Nå kan sluttbrukerne bruke applikasjonen enkelt ved å kjøre denne beholderen uten å bekymre seg for avhengighet eller versjonskonflikter.

Disse containerne bruker Containerization som kan betraktes som en utviklet versjon av Virtualization. Den samme oppgaven kan også oppnås ved bruk av virtuelle maskiner, men den er ikke veldig effektiv.



Jeg mottar vanligvis et spørsmål på dette tidspunktet, dvs. hva er forskjellen mellom virtualisering og containerisering? Disse to begrepene er veldig like hverandre. Så, la meg først fortelle deg Hva er virtualisering?

Hva er virtualisering?

Virtualisering er teknikken for å importere et Guest-operativsystem på toppen av et Host-operativsystem. Denne teknikken var en åpenbaring i begynnelsen fordi den tillot utviklere å kjøre flere operativsystemer på forskjellige virtuelle maskiner som alle kjørte på samme vert. Dette eliminerte behovet for ekstra maskinvareressurs. Fordelene med virtuelle maskiner eller virtualisering er:

  • Flere operativsystemer kan kjøres på samme maskin
  • Vedlikehold og gjenoppretting var lett i tilfelle feilforhold
  • De totale eierkostnadene var også mindre på grunn av redusert behov for infrastruktur

Virtual Machine Architecture - Docker Tutorial on Introduction to Docker - Edureka

I diagrammet til høyre kan du se at det er et vertsoperativsystem som det kjører 3 gjestesystemer som ikke er noe annet enn de virtuelle maskinene.

Som du vet ingenting er perfekt, har virtualisering også noen mangler. Å kjøre flere virtuelle maskiner i samme vertsoperativsystem fører til forringelse av ytelsen. Dette er på grunn av gjeste-operativsystemet som kjører på toppen av verts-operativsystemet, som vil ha sin egen kjerne og et sett med biblioteker og avhengigheter. Dette tar opp en stor del av systemressurser, dvs. harddisk, prosessor og spesielt RAM.

Et annet problem med Virtual Machines som bruker virtualisering er at det tar nesten et minutt å starte opp.Dette er veldig viktig i tilfelle applikasjoner i sanntid.

Følgende er ulempene med virtualisering:

  • Å kjøre flere virtuelle maskiner fører til ustabil ytelse
  • Hypervisors er ikke like effektive som vertsoperativsystemet
  • Oppstartprosessen er lang og tar tid

Disse ulempene førte til fremveksten av en ny teknikk kalt Containerization. La meg nå fortelle deg om containerisering.

Hva er containerisering?

Containerization er teknikken for å bringe virtualisering til operativsystemnivået. Mens virtualisering bringer abstraksjon til maskinvaren, gir Containerization abstraksjon til operativsystemet. Vær oppmerksom på at containerisering også er en type virtualisering. Containerisering er imidlertid mer effektivt fordi det ikke er noe operativsystem her og bruker verts operativsystem, deler relevante biblioteker og ressurser etter behov i motsetning til virtuelle maskiner. Applikasjonsspesifikke binærfiler og biblioteker med containere kjører på vertskjernen, noe som gjør prosessering og utførelse veldig raskt. Selv oppstart av en container tar bare en brøkdel av et sekund. Fordi alle containerne deler, er vert operativsystem og inneholder bare applikasjonsrelaterte binærfiler og biblioteker. De er lette og raskere enn virtuelle maskiner.

Fordeler med containerisering fremfor virtualisering:

  • Beholdere på samme OS-kjerne er lettere og mindre
  • Bedre ressursutnyttelse sammenlignet med virtuelle maskiner
  • Oppstartprosessen er kort og tar noen sekunder

I diagrammet til høyre kan du se at det er et vertsoperativsystem som deles av alle containerne. Beholdere inneholder bare applikasjonsspesifikke biblioteker som er separate for hver container, og de er raskere og kaster ikke bort ressurser.

Alle disse beholderne håndteres av containeriseringslaget som ikke er hjemmehørende i vertsoperativsystemet. Derfor er det nødvendig med en programvare som kan gjøre det mulig å opprette og kjøre containere på vertsoperativsystemet.

Ta en titt på denne Docker-opplæringsvideoen for en dyp forståelse av Docker.

Docker-veiledning for nybegynnere Hva er Docker? | DevOps-verktøy | Edureka

La meg nå ta deg gjennom introduksjonen til Docker.

Docker Tutorial - Introduksjon til Docker

Docker er en containeriseringsplattform som pakker applikasjonen din og alle dens avhengigheter sammen i form av containere for å sikre at applikasjonen fungerer sømløst i ethvert miljø.

Som du kan se i diagrammet til høyre, vil hvert program kjøre på en separat container og vil ha sitt eget sett med biblioteker og avhengigheter. Dette sikrer også at det er isolasjon på prosessnivå, noe som betyr at hver applikasjon er uavhengig av andre applikasjoner, noe som gir utviklere sikkerhet for at de kan bygge applikasjoner som ikke vil forstyrre hverandre.

Som utvikler kan jeg bygge en container som har forskjellige applikasjoner installert og gi den til QA-teamet mitt som bare trenger å kjøre containeren for å replikere utviklermiljøet.

Fordeler med Docker

Nå trenger ikke QA-teamet å installere all avhengig programvare og applikasjoner for å teste koden, og dette hjelper dem å spare mye tid og energi. Dette sikrer også at arbeidsmiljøet er konsistent på tvers av alle individene som er involvert i prosessen, fra utvikling til distribusjon. Antall systemer kan enkelt skaleres opp og koden kan distribueres uten problemer.

Virtualisering vs Containerization

Både virtualisering og containerisering lar deg kjøre flere operativsystemer inne i en vertsmaskin.

Virtualisering handler om å lage mange operativsystemer i en enkelt vertsmaskin. Containerisering vil derimot opprette flere containere for alle typer applikasjoner etter behov.

Figur: Hva er Big Data Analytics - Virtualisering kontra containerisering

Som vi kan se av bildet, er den største forskjellen at det er flere gjesteoperativsystemer i virtualisering som er fraværende i containerisering. Den beste delen av Containerization er at den er veldig lett sammenlignet med den tunge virtualiseringen.

La oss nå installere Docker.

Installer Docker:

Jeg installerer Docker i min Ubuntu 17.10-maskin. Følgende er trinnene for å installere Docker:

  1. Installer nødvendige pakker
  2. Sett opp Docker-depotet
  3. Installer Docker på Ubuntu

1. Installer nødvendige pakker:

Det er visse pakker du trenger i systemet ditt for å installere Docker. Utfør kommandoen nedenfor for å installere disse pakkene.

sudo apt-get install curl apt-transport-https ca-sertifikater programvareegenskaper-vanlig

2. Konfigurer Docker Repository:

Importer nå Dockers offisielle GPG-nøkkel for å bekrefte pakkesignaturen før du installerer dem med apt-get. Kjør kommandoen nedenfor på terminalen:

krøll -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add

Nå legger du til Docker-depotet på Ubuntu-systemet ditt som inneholder Docker-pakker inkludert dets avhengigheter, for det utfører kommandoen nedenfor:

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

hvordan vise array i php

3. Installer Docker på Ubuntu:

Nå må du oppgradere apt index og installere Docker community edition, for å utføre kommandoene nedenfor:

sudo apt-get oppdater sudo apt-get install docker-ce

Gratulerer! Du har installert Docker. Ta også en titt på noen ofte brukte Docker-kommandoer .

La oss nå se noen viktige Docker-konsepter.

Dockerfile, Docker Image And Docker Container:

  1. Et Docker-bilde opprettes av sekvensen av kommandoer skrevet i en fil som heter Dockerfile.
  2. Når denne Dockerfilen kjøres ved hjelp av en docker-kommando, resulterer den i et Docker-bilde med navn.
  3. Når dette bildet kjøres av 'docker run' -kommandoen, vil det i seg selv starte hvilket program eller hvilken tjeneste det måtte starte når det kjøres.

Docker Hub:

Docker Hub er som GitHub for Docker Images. Det er i utgangspunktet et skyregister der du kan finne Docker Images lastet opp av forskjellige samfunn, og du kan også utvikle ditt eget bilde og laste opp på Docker Hub, men først må du opprette en konto på DockerHub.

Docker-arkitektur:

Den består av en Docker Engine som er et klientserverprogram med tre hovedkomponenter:

  1. En server som er en type langvarig program som kalles en daemon-prosess (docker-kommandoen).
  2. En REST API som spesifiserer grensesnitt som programmer kan bruke til å snakke med demonen og instruere den hva den skal gjøre.
  3. En CLI-klient (Command Line Interface) (docker-kommandoen).
  4. CLI bruker Docker REST API for å kontrollere eller samhandle med Docker-demonen gjennom skripting eller direkte CLI-kommandoer. Mange andre Docker-applikasjoner bruker den underliggende API og CLI.

Se denne bloggen for å lese mer om .

Til slutt i denne Docker Tutorial-bloggen vil jeg snakke om Docker Compose.

Docker komponere:

Docker Compose brukes i utgangspunktet til å kjøre flere Docker Containers som en enkelt server. La meg gi deg et eksempel:

Anta at hvis jeg har et program som krever WordPress, Maria DB og PHP MyAdmin. Jeg kan opprette en fil som starter begge containerne som en tjeneste uten å måtte starte hver enkelt separat. Det er veldig nyttig, spesielt hvis du har en mikrotjenestearkitektur.

Henvis bloggen min videre Docker Container å forstå hvordan du skal utføre det praktisk.

Du kan også lese denne bloggen om hvordan du kan containerisere et gjennomsnittlig stack-program ved hjelp av Docker Compose.

Med dette kommer vi til en slutt på Docker Tutorials første blogg om Introduction To Docker & Containerization.

Gå gjennom vår neste blogg på Docker:

Nå som du har forstått hva som er DevOps, sjekk ut vårt av Edureka, et pålitelig online læringsfirma med et nettverk med mer enn 250 000 fornøyde elever spredt over hele verden. Edureka DevOps sertifiseringstreningskurs hjelper lærere å få ekspertise i ulike DevOps-prosesser og verktøy som Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack og GIT for å automatisere flere trinn i SDLC.

Har du spørsmål til oss? Vennligst nevn det i kommentarfeltet, så kommer vi tilbake til deg.