Tutorial Docker pentru începători: elemente de bază, Architectură, Containere
⚡ Rezumat inteligent
Docker este o platformă de containerizare care împachetează aplicațiile și dependențele acestora în containere portabile și ușoare. Această prezentare generală explică arhitectura Docker, instalarea pe... Ubuntu, comenzi esențiale și cum diferă containerele de mașinile virtuale tradiționale pentru o livrare mai rapidă a software-ului.

Docker este una dintre cele mai populare platforme de containerizare utilizate în mediul modern. DevOps și fluxuri de lucru în cloud. Acest tutorial Docker pentru începători explică ce este Docker, cum funcționează arhitectura Docker, cum se instalează Docker pe Ubuntuși comenzile de bază utilizate pentru gestionarea imaginilor și containerelor.
Ce este Docker?
Docher este o platformă de dezvoltare software pentru virtualizare care permite mai multor sisteme de operare să ruleze pe aceeași gazdă. Vă ajută să separați infrastructura de aplicații, astfel încât să puteți livra software rapid. Spre deosebire de hipervizori, care sunt utilizați pentru a crea mașini virtuale (VM), Docker efectuează virtualizarea la nivel de sistem folosind unități numite containere Docker.
Containerele Docker rulează peste sistemul de operare gazdă, așa cum se arată în imaginea de mai jos. Acest lucru îmbunătățește atât eficiența, cât și securitatea. De asemenea, puteți rula mai multe containere decât mașini virtuale pe aceeași infrastructură, deoarece containerele utilizează mai puține resurse.

Spre deosebire de mașinile virtuale, care pot comunica direct cu hardware-ul gazdă (de exemplu, un adaptor Ethernet care creează mai multe adaptoare virtuale), containerele Docker rulează într-un mediu izolat, deasupra sistemului de operare gazdă. Chiar dacă gazda rulează Windows, poți fugi Linux imagini în interiorul containerelor cu ajutorul Hyper-V, care creează automat o mică mașină virtuală pentru a virtualiza imaginea de bază.
Acum că știi ce este Docker, hai să analizăm principalele motive pentru care echipele îl aleg.
De ce să folosiți Docker?
Iată principalele motive pentru a utiliza Docker:
- Docker este un software utilizat pentru virtualizare, permițând mai multe sisteme de operare să ruleze pe aceeași gazdă.
- Docker este o aplicație client-server, ceea ce înseamnă că clienții comunică cu un server.
- Imaginile Docker acționează ca „cod sursă” pentru containere; le folosiți pentru a construi.
- Docker acceptă două tipuri de registre: publice și private.
- Containerele sunt unitățile organizaționale ale Docker. În termeni simpli, o imagine este un șablon, iar un container este o copie a acelui șablon, astfel încât puteți rula mai multe containere din aceeași imagine.
Aceste beneficii provin din modul în care este proiectat Docker. Următoarea secțiune analizează arhitectura Docker și componentele sale principale.
Docher Architectură
Acum, în acest tutorial despre containerele Docker, haideți să analizăm principalele componente ale arhitecturii Docker.
Motor Docker
Docker este o aplicație client-server, ceea ce înseamnă că avem clienți care transmit cereri către un server. Daemonul Docker, numit dockerd, este motorul Docker care reprezintă serverul. Daemonul și clienții pot rula pe aceeași gazdă sau pe una la distanță și comunică printr-un fișier binar client în linie de comandă și un fișier complet. RESTful API care interacționează cu dockerd.
Imagini Docker
Imaginile Docker sunt „codul sursă” pentru containerele noastre; le folosim pentru a construi containere. Imaginile pot avea software preinstalat, ceea ce accelerează implementarea. Sunt portabile și puteți utiliza imagini existente sau puteți construi propriile imagini.
Registre Docker
Docker stochează imaginile pe care le construim în registre. Există registre publice și private. Docker are un registru public numit Hub Docker, unde puteți stoca imagini și în mod privat. Docker Hub are milioane de imagini pe care le puteți utiliza imediat.
Docker Containere
Containerele sunt unitățile organizaționale ale Docker și unul dintre conceptele sale de bază. Atunci când construim o imagine și o rulăm, o rulăm în interiorul unui container. Analogia cu containerul este folosită datorită portabilității software-ului care rulează în interiorul acestuia: îl puteți muta, „expedia”, modifica, gestiona, crea sau distruge, la fel cum navele de marfă manipulează containere reale.
În termeni simpli, o imagine este un șablon, iar un container este o copie a acelui șablon. Puteți avea mai multe containere (copii) ale aceleiași imagini.
Interacțiunea dintre aceste componente diferite arată cum funcționează împreună tehnologia containerelor Docker. Comenzi precum docker pull și docker run, pe care le vom acoperi mai târziu, vă permit să gestionați acest flux de lucru.
Având în vedere arhitectura, permiteți-ne să instalăm Docker, astfel încât să puteți încerca aceste componente singuri.
Cum se instalează Docker pe Linux/Ubuntu
Mai jos este un proces pas cu pas de instalare a Docker pe Linux/Ubuntu:
Pas 1) Pentru a instala Docker, aveți nevoie de pachetele DEB ale echipei Docker. Mai întâi, câteva cerințe preliminare Ubuntu Sunt necesare pachete. Folosește comanda de mai jos pentru a le instala.
$ sudo apt-get install \ apt-transport-https \ ca-certificates curl \ software-properties-common
*semnul „\” nu este necesar, este folosit pentru noua linie, dacă doriți, puteți scrie comanda fără a folosi „\” doar într-o singură linie.
Pas 2) Adăugați cheia GPG oficială Docker cu amprenta. Folosiți comanda Docker de mai jos pentru a introduce cheia GPG.
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Pas 3) Apoi, adăugați depozitul Docker APT folosind comanda de mai jos.
$ sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"
Este posibil să vi se solicite să confirmați că doriți să adăugați repozitoriul și să adăugați automat cheia GPG la gazdă. Comanda lsb_release ar trebui să completeze fișierul Ubuntu versiunea de distribuție a gazdei dvs.
Pas 4) După adăugarea cheii GPG, actualizați sursele APT folosind comanda Docker de mai jos.
$ sudo apt-get update
Acum puteți instala pachetul Docker în sine.
Pas 5) După ce sursele APT sunt actualizate, începeți instalarea pachetelor Docker pe Ubuntu folosind comanda Docker de mai jos.
$ sudo apt-get install docker-ce
Comanda de mai sus instalează Docker și alte pachete necesare. Înainte de Docker 1.8.0, numele pachetului era lxc-docker, iar între Docker 1.8 și 1.13, numele pachetului era docker-engine.
NOTĂ: Docker pentru Windows Necesită Windows 10 Pro sau Enterprise versiunea 14393 sau Windows Server 2016 RTM, pentru a rula.
Cum să utilizați Docker folosind comenzile de bază Docker
Iată cum se utilizează Docker cu câteva comenzi Docker de bază.
Cea mai simplă comandă pe care ar trebui să o executați după instalarea Docker este docker info, așa cum am menționat anterior.
$ sudo docker info
Ar trebui să obțineți un rezultat similar cu următorul.
Așa cum se arată în exemplul Docker de mai sus, putem vedea informații despre containerele Docker: câte rulează, sunt în pauză sau sunt oprite și câte imagini au fost descărcate. Acum să obținem prima noastră imagine.
$ sudo docker pull alpine
Cu această comandă, îi spunem lui Docker să descarce imaginea alpine, extragând-o din registrul public în cea mai recentă versiune, care este setată implicit.
*alpine este o imagine Docker minimală bazată pe Alpine Linux, cu un index de pachet complet și o dimensiune de numai 5 MB.
Dacă vrem să rulăm imaginea ca un container, folosim următoarea comandă.
$ sudo docker run -i -t alpine /bin/bash
Rularea comenzii ne trimite direct la terminalul alpine. Indicatorul -i menține STDIN deschis din container chiar și atunci când nu sunteți atașat la acesta; această intrare standard persistentă este jumătate din ceea ce aveți nevoie pentru un shell interactiv. Indicatorul -t este cealaltă jumătate și instruiește Docker să atribuie un pseudo-tty containerului. Împreună, acestea ne oferă un shell interactiv în noul container. Ieșim din container cu o simplă comandă de ieșire.
Acum, în acest tutorial de bază Docker, putem încerca să rulăm un Ubuntu imagine.
$ sudo docker run -it ubuntu /bin/bash
Observați că Docker verifică imaginea local și, dacă nu există, imaginea este extrasă automat din biblioteca de imagini. Din nou, avem un shell interactiv care rulează. De asemenea, putem denumi containerele pe măsură ce le rulăm.
$ sudo docker run –-name our_container -it ubuntu /bin/bash
Apoi ieșim din nou. Putem rula și un container creat anterior fără o shell interactivă.
$ sudo docker start container_name
Și oprim containerul scriind docker stop container_name.
$ sudo docker stop container_name
Dacă vrem să vedem toate containerele care rulează, pur și simplu rulăm următoarele.
$ docker ps
Pentru toate containerele, adăugăm „-a” la sfârșitul aceleiași comenzi, cum ar fi docker ps -a. Această comandă arată ID-ul containerului, ce imagine folosește, când a fost creat, starea sa de funcționare, porturile expuse și un nume generat aleatoriu pentru o gestionare mai ușoară.
Când rulăm containere, adesea vrem să știm câte resurse utilizează. În acest scop, putem folosi următoarea comandă.
$ docker stats
De asemenea, puteți vedea ce imagini ați descărcat local, împreună cu informații despre acestea.
$ sudo docker images
Comanda din exemplul Docker de mai sus afișează fiecare imagine Docker cu o etichetă care arată versiunea imaginii, un ID distinctiv al imaginii, data creării și dimensiunea imaginii.
Pentru a înțelege de ce containerele reprezintă o astfel de îmbunătățire, este util să analizăm cum a evoluat virtualizarea.
Ce este virtualizarea?
Anterior, implementarea unui serviciu era lentă și dificilă. Dezvoltatorii scriau cod, iar apoi echipa de operațiuni îl implementa pe mașini bare-metal, unde trebuiau să fie atenți la versiunile bibliotecii, patch-urile și compilatoarele de limbaj pentru ca codul să funcționeze. Dacă existau erori sau erori, procesul începea de la capăt: dezvoltatorii remediau problema, iar echipa de operațiuni redistribuia codul.
Lucrurile s-au îmbunătățit odată cu crearea hipervizorilor. Hipervizorii rulează mai multe mașini virtuale, sau mașini virtuale, pe aceeași gazdă, care pot fi în execuție sau oprite. Mașinile virtuale au redus considerabil timpul de așteptare pentru implementarea codului și remedierea erorilor, dar adevăratul factor de schimbare au fost containerele Docker.
Popularitatea Docker este determinată și de instrumentele de orchestrare care gestionează containerele la scară largă, cum ar fi KubernetesÎnainte de a continua, iată o scurtă referință la cele mai importante comenzi Docker.
Comenzi Docker importante
Mai jos sunt comenzile Docker importante:
| Comandă | Descriere |
|---|---|
| informații despre docker | Comanda de informare |
| docker pull | Descărcați o imagine |
| docker rulează -i -t nume_imagine /bin/bash | Rulați imaginea ca container |
| docker pornește containerul nostru | Porniți containerul |
| docker stop container_name | Opriți containerul |
| docker ps | Lista tuturor containerelor care rulează |
| statistici docker | Informații despre container |
| portocale imagini | Lista imaginilor descărcate |
| Docker Cleanup | Omorâți toate containerele care rulează. |
De asemenea, citiți acestea Întrebări și răspunsuri la interviul de angajare Docker atât pentru începători, cât și pentru profesioniști cu experiență.

