Tutorial Docker - Introducere în Docker și containerizare



În acest tutorial Docker, veți înțelege necesitatea din spatele Docker și veți obține o introducere în Docker. Este primul blog din seria de tutoriale Docker

Sper că nu ați ratat seria blogurilor anterioare DevOps Tutorial. Treceți prin Aici.Tendința incontenabilă a containerului Docker este în creștere și organizațiile caută profesioniști care dețin .De data aceasta, vă vom conduce printr-o Introducere în Docker.

Tutorial Docker

Acest blog Docker Tutorial vă va oferi o expunere conceptuală și practică la Docker - O tehnologie de containerizare new age.





În acest blog, ne vom concentra pe subiectele de mai jos:

  • Ce este virtualizarea?
  • Ce este containerizarea
  • Avantajele containerizării față de virtualizare
  • Introducere în Docker
  • Avantajele Docker
  • Virtualizare vs Containerizare
  • Instalare Docker
  • Dockerfile, Docker Image & Docker Container
  • Ce este Docker Hub?
  • Docker Architecture
  • Docker Compose

Docker câștigă popularitate, iar utilizarea sa se răspândește ca focul. Motivul popularității crescânde a lui Docker este măsura în care poate fi utilizat într-o organizație IT. Foarte puține instrumente există funcționalitatea de a se găsi util atât dezvoltatorilor, cât și administratorilor de sistem. Docker este un astfel de instrument care respectă cu adevărat promisiunea sa Construi , Navă și Alerga .



În cuvinte simple, Docker este o platformă de containerizare software, ceea ce înseamnă că vă puteți construi aplicația, le puteți împacheta împreună cu dependențele lor într-un container și apoi aceste containere pot fi transportate cu ușurință pentru a rula pe alte mașini.

De exemplu: Să luăm în considerare o aplicație bazată pe Linux care a fost scrisă atât în ​​Ruby, cât și în Python. Această aplicație necesită o versiune specifică de Linux, Ruby și Python. Pentru a evita orice conflict de versiune la sfârșitul utilizatorului, poate fi creat un container Linux docker cu versiunile necesare de Ruby și Python instalate împreună cu aplicația. Acum utilizatorii finali pot utiliza aplicația cu ușurință rulând acest container fără a se îngrijora de dependențe sau de orice conflicte de versiune.

Aceste containere utilizează Containerizarea care poate fi considerată o versiune evoluată a virtualizării. Aceeași sarcină poate fi realizată și cu mașinile virtuale, însă nu este foarte eficientă.



În general, primesc o întrebare în acest moment, adică care este diferența dintre virtualizare și containerizare? Acești doi termeni sunt foarte asemănători. Deci, permiteți-mi să vă spun mai întâi Ce este virtualizarea?

Ce este virtualizarea?

Virtualizarea este tehnica de importare a unui sistem de operare Guest deasupra unui sistem de operare Host. Această tehnică a fost o revelație la început, deoarece a permis dezvoltatorilor să ruleze mai multe sisteme de operare în diferite mașini virtuale care rulează toate pe aceeași gazdă. Acest lucru a eliminat necesitatea unei resurse hardware suplimentare. Avantajele mașinilor virtuale sau ale virtualizării sunt:

  • Mai multe sisteme de operare pot rula pe aceeași mașină
  • Întreținerea și recuperarea au fost ușoare în caz de defecțiuni
  • Costul total de proprietate a fost, de asemenea, mai mic din cauza nevoii reduse de infrastructură

Arhitectura mașinilor virtuale - Tutorial Docker despre introducerea în Docker - Edureka

În diagrama din dreapta, puteți vedea că există un sistem de operare gazdă pe care există 3 sisteme de operare invitate care rulează, care nu sunt altceva decât mașinile virtuale.

După cum știți, nimic nu este perfect, virtualizarea are și unele neajunsuri. Rularea mai multor mașini virtuale în același sistem de operare gazdă duce la degradarea performanței. Acest lucru se datorează sistemului de operare invitat care rulează deasupra sistemului de operare gazdă, care va avea propriul nucleu și un set de biblioteci și dependențe. Aceasta necesită o mare parte din resursele sistemului, adică hard disk, procesor și mai ales RAM.

O altă problemă cu mașinile virtuale care utilizează virtualizarea este că durează aproape un minut până la pornire.Acest lucru este foarte critic în cazul aplicațiilor în timp real.

Următoarele sunt dezavantajele virtualizării:

  • Rularea mai multor mașini virtuale duce la performanțe instabile
  • Hipervizorii nu sunt la fel de eficienți ca sistemul de operare gazdă
  • Procesul de pornire este lung și durează

Aceste dezavantaje au dus la apariția unei noi tehnici numite Containerizare. Acum permiteți-mi să vă povestesc despre containerizare.

Ce este containerizarea?

Containerizarea este tehnica de a aduce virtualizarea la nivelul sistemului de operare. În timp ce virtualizarea aduce abstractizare hardware-ului, Containerizarea aduce abstractizare sistemului de operare. Rețineți că containerizarea este, de asemenea, un tip de virtualizare. Containerizarea este totuși mai eficientă, deoarece nu există un sistem de operare pentru oaspeți aici și utilizează sistemul de operare al unei gazde, partajează biblioteci și resurse relevante, atunci când este necesar, spre deosebire de mașinile virtuale. Aplicațiile binare specifice și bibliotecile de containere rulează pe nucleul gazdă, ceea ce face procesarea și execuția foarte rapide. Chiar și pornirea unui container durează doar o fracțiune de secundă. Deoarece toate containerele partajează, găzduiesc sistemul de operare și dețin numai binarele și bibliotecile legate de aplicație. Sunt ușoare și mai rapide decât mașinile virtuale.

Avantajele containerizării față de virtualizare:

  • Containerele de pe același nucleu de sistem de operare sunt mai ușoare și mai mici
  • Utilizare mai bună a resurselor în comparație cu VM-urile
  • Procesul de pornire este scurt și durează câteva secunde

În diagrama din dreapta, puteți vedea că există un sistem de operare gazdă care este partajat de toate containerele. Containerele conțin doar biblioteci specifice aplicației, care sunt separate pentru fiecare container și sunt mai rapide și nu risipesc resurse.

Toate aceste containere sunt gestionate de stratul de containerizare care nu este nativ pentru sistemul de operare gazdă. Prin urmare, este necesar un software, care vă poate permite să creați și să rulați containere pe sistemul dvs. de operare gazdă.

Consultați acest videoclip tutorial Docker pentru o înțelegere profundă a Docker.

Tutorial Docker pentru începători | Ce este Docker? | Instrumente DevOps | Edureka

Acum, permiteți-mi să vă duc prin introducerea lui Docker.

Tutorial Docker - Introducere în Docker

Docker este o platformă de containerizare care împachetează aplicația dvs. și toate dependențele sale împreună sub formă de containere pentru a vă asigura că aplicația dvs. funcționează perfect în orice mediu.

După cum puteți vedea în diagrama din dreapta, fiecare aplicație va rula pe un container separat și va avea propriul set de biblioteci și dependențe. Acest lucru asigură, de asemenea, că există o izolare la nivel de proces, ceea ce înseamnă că fiecare aplicație este independentă de alte aplicații, oferind dezvoltatorilor siguranța că pot crea aplicații care nu vor interfera una cu cealaltă.

În calitate de dezvoltator, pot construi un container care are instalate diferite aplicații și îl pot oferi echipei mele de asigurare a calității, care va trebui să ruleze containerul doar pentru a reproduce mediul dezvoltatorului.

Avantajele Docker

Acum, echipa QA nu trebuie să instaleze toate software-urile și aplicațiile dependente pentru a testa codul și acest lucru îi ajută să economisească mult timp și energie. Acest lucru asigură, de asemenea, că mediul de lucru este consecvent între toate persoanele implicate în proces, începând de la dezvoltare până la implementare. Numărul de sisteme poate fi mărit cu ușurință și codul poate fi implementat pe ele fără efort.

Virtualizare vs Containerizare

Virtualizarea și containerizarea vă permit să rulați mai multe sisteme de operare în interiorul unei mașini gazdă.

Virtualizarea se ocupă cu crearea multor sisteme de operare într-o singură mașină gazdă. Pe de altă parte, containerizarea va crea mai multe containere pentru fiecare tip de aplicație, după cum este necesar.

Figura: Ce este analiza datelor mari - virtualizare versus containerizare

După cum putem vedea din imagine, diferența majoră este că există mai multe sisteme de operare pentru oaspeți în virtualizare, care sunt absente în containerizare. Cea mai bună parte a containerizării este că este foarte ușoară în comparație cu virtualizarea grea.

Acum, să instalăm Docker.

Instalați Docker:

Voi instala Docker în mașina mea Ubuntu 17.10. Următorii pași pentru instalarea Docker:

  1. Instalați pachetele necesare
  2. Configurați depozitul Docker
  3. Instalați Docker pe Ubuntu

1. Instalați pachetele necesare:

Există anumite pachete de care aveți nevoie în sistemul dvs. pentru instalarea Docker. Executați comanda de mai jos pentru a instala acele pachete.

sudo apt-get install curl apt-transport-https ca-certificate software-properties-common

2. Configurare depozit Docker:

Acum, importați cheia oficială GPG Dockers pentru a verifica semnătura pachetelor înainte de a le instala cu apt-get. Rulați comanda de mai jos pe terminal:

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

Acum, adăugați depozitul Docker pe sistemul Ubuntu care conține pachete Docker, inclusiv dependențele sale, pentru aceasta executați comanda de mai jos:

cum se fac puteri în java
sudo add-apt-repository 'deb [arch = amd64] https://download.docker.com/linux/ubuntu $ (lsb_release -cs) stable'

3. Instalați Docker pe Ubuntu:

Acum trebuie să faceți upgrade apt index și să instalați ediția comunității Docker, pentru aceasta executați comenzile de mai jos:

sudo apt-get update sudo apt-get install docker-ce

Felicitări! Ați instalat cu succes Docker. De asemenea, verificați câteva utilizate în mod obișnuit Comenzi Docker .

Acum, să vedem câteva concepte importante Docker.

Fișier Docker, imagine Docker și container Docker:

  1. O imagine Docker este creată de secvența de comenzi scrise într-un fișier numit Dockerfile.
  2. Când acest fișier Docker este executat folosind o comandă docker, rezultă o imagine Docker cu un nume.
  3. Când această imagine este executată prin comanda „docker run”, va porni de la sine orice aplicație sau serviciu trebuie să înceapă la executarea sa.

Hub Docker:

Docker Hub este ca GitHub pentru Docker Images. Este practic un registru cloud în care puteți găsi imagini Docker încărcate de diferite comunități, de asemenea, puteți să vă dezvoltați propria imagine și să încărcați pe Docker Hub, dar mai întâi, trebuie să vă creați un cont pe DockerHub.

Arhitectura Docker:

Se compune dintr-un motor Docker care este o aplicație client-server cu trei componente majore:

  1. Un server care este un tip de program de lungă durată numit proces daemon (comanda docker).
  2. Un API REST care specifică interfețele pe care programele le pot folosi pentru a vorbi cu daemonul și pentru a-i instrui ce să facă.
  3. Un client de linie de comandă (CLI) (comanda docker).
  4. CLI folosește API-ul REST Docker pentru a controla sau interacționa cu demonul Docker prin scriptare sau comenzi CLI directe. Multe alte aplicații Docker folosesc API-ul de bază și CLI.

Consultați acest blog pentru a citi mai multe despre .

În cele din urmă, în acest blog Docker Tutorial voi vorbi despre Docker Compose.

Docker Compose:

Docker Compose este utilizat practic pentru a rula mai multe containere Docker ca un singur server. Permiteți-mi să vă dau un exemplu:

Să presupunem că dacă am o aplicație care necesită WordPress, Maria DB și PHP MyAdmin. Pot crea un fișier care ar porni ambele containere ca serviciu fără a fi nevoie să le pornim pe fiecare separat. Este foarte util mai ales dacă aveți o arhitectură de microservice.

Consultați blogul meu pe Container Docker pentru a înțelege cum să-l execute practic.

De asemenea, puteți citi acest blog despre cum puteți containeriza o aplicație stivă medie utilizând Docker Compose.

Cu aceasta, ajungem la sfârșitul primului blog Docker Tutorial despre Introducere în Docker și containere.

Accesați următorul nostru blog pe Docker:

Acum că ați înțeles ce este DevOps, consultați-ne de Edureka, o companie de învățare online de încredere, cu o rețea de peste 250.000 de elevi mulțumiți răspândiți pe tot globul. Cursul Edureka DevOps Certification Training ajută cursanții să câștige expertiză în diferite procese și instrumente DevOps, cum ar fi Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack și GIT pentru automatizarea mai multor pași în SDLC.

Ai o întrebare pentru noi? Vă rugăm să o menționați în secțiunea de comentarii și vă vom răspunde.