Docker este un set de produse Platform as a service (PaaS) care utilizează virtualizarea la nivel de sistem de operare pentru a livra software în pachete numite containere. Containerele sunt izolate unul de altul și își grupează propriul software, biblioteci și fișiere de configurare; pot comunica între ei prin canale bine definite. Toate containerele sunt rulate de un singur nucleu de sistem de operare și, prin urmare, folosesc mai puține resurse decât o mașină virtuală.
Cuprins
- Ce este Docker?
- De ce este popular Docker?
- Ce este un Dockerfile?
- Ce este arhitectura Docker și cum funcționează Docker?
- Ce este Docker Image?
- Ce este Docker Container?
- Ce este Docker Hub?
- Ce este Docker Compose?
- Cum să descărcați Docker Desktop?
- Comenzi Docker
- Docker Engine
- De ce să folosiți Docker?
- Ce este Docker For AWS?
- Diferența dintre containerele Docker și mașinile virtuale
- Instalați Docker pe Ubuntu
- Exemplu de exemplu: Containerizarea aplicației utilizând Docker
- Exemplu de exemplu pentru a împinge o imagine în Docker Hub
- Preluați și rulați imaginea din Docker Hub
- Beneficiile Docker
- Alternative la Docker
- Docker Security
Ce este Docker?
Docher este un open-source containerizarea platformă prin care vă puteți împacheta aplicația și toate dependențele sale într-o unitate standardizată numită container. Containerele sunt ușoare, ceea ce le face portabile și sunt izolate de infrastructura de bază și unul de celălalt container. Puteți rula imagine docker ca container docker în orice mașină în care docker este instalat fără a depinde de sistem de operare.
De ce este popular Docker?
Docker și-a câștigat popularitatea datorită impactului său asupra dezvoltării și implementării software-ului. Următoarele sunt câteva dintre principalele motive pentru care dockerul devine popular:
- Portabilitate: Docker facilitează dezvoltatorilor să-și împacheteze aplicațiile cu toate dependențele într-un singur container ușor. Facilitează asigurarea performanței consistente în diferitele medii de calcul.
- Reproductibilitate: Prin încapsularea aplicațiilor cu dependențele lor într-un container, se asigură că setările software rămân consecvente în mediile de dezvoltare, testare și producție.
- Eficienţă: Docker prin arhitectura sa bazată pe containere optimizează utilizarea resurselor. Permite dezvoltatorilor să ruleze mai multe aplicații izolate pe un singur sistem gazdă.
- Scalabilitate: Caracteristicile de scalabilitate ale Docker au facilitat dezvoltatorilor să ușureze gestionarea aplicațiilor lor în momentul creșterii volumului de lucru.
Ce este un Dockerfile?
The Dockerfile folosește DSL (Domain Specific Language) și conține instrucțiuni pentru generarea unei imagini Docker. Dockerfile va defini procesele pentru a produce rapid o imagine. În timp ce creați aplicația dvs., ar trebui să creați un Dockerfile în ordine, începând cu Daemonul Docker rulează toate instrucțiunile de sus în jos.
(Daemonul Docker, denumit adesea Docker, este un serviciu de fundal care gestionează containerele Docker pe un sistem.)
- Este un document text care conține comenzile necesare care la execuție ajută la asamblarea unei imagini Docker.
- Imaginea Docker este creată folosind un fișier Docker.

Pentru a afla mai multe despre fișierul Docker, consultați Docker – Conceptul Dockerfile .
Ce este arhitectura Docker și cum funcționează Docker?
Docker folosește o arhitectură client-server. Clientul Docker vorbește cu demonul docker, care ajută la construirea, rularea și distribuirea containerelor docker. Clientul Docker rulează cu demonul pe același sistem sau putem conecta clientul Docker cu demonul Docker de la distanță. Cu ajutorul API-ului REST pe un socket UNIX sau o rețea, clientul docker și demonul interacționează unul cu celălalt. Pentru a afla mai multe despre funcționarea docker, consultați Arhitectura lui Docker .
Ce este Docker Image?
Este un fișier, format din mai multe straturi, folosit pentru a executa cod într-un container Docker. Sunt un set de instrucțiuni folosite pentru a crea containere docker. Docker Image este un pachet de software executabil care include tot ceea ce este necesar pentru a rula o aplicație. Această imagine informează cum ar trebui să instanțieze un container, determinând ce componente software vor rula și cum. Docker Container este un mediu virtual care include codul aplicației cu toate dependențele necesare pentru a rula aplicația. Aplicația rulează rapid și fiabil de la un mediu de calcul la altul.
Ce este Docker Container?
Containerul Docker este o instanță de rulare a unei imagini. Permite dezvoltatorilor să împacheteze aplicații cu toate părțile necesare, cum ar fi biblioteci și alte dependențe. Containerele Docker sunt instanțe de rulare ale imaginilor Docker. Containerele conțin întregul kit necesar pentru o aplicație, astfel încât aplicația poate fi rulată într-un mod izolat. De exemplu. - Să presupunem că există o imagine a sistemului de operare Ubuntu cu NGINX SERVER când această imagine este rulată cu comanda docker run, atunci va fi creat un container și NGINX SERVER va rula pe Ubuntu OS.
Ce este Docker Hub?
Docker Hub este un serviciu de depozit și este un serviciu bazat pe cloud în care oamenii își împing imaginile Docker Container și, de asemenea, extrag imaginile Docker Container din Docker Hub oricând sau oriunde prin internet. În general, este ușor de găsit și reutilizat imagini. Oferă funcții precum vă puteți împinge imaginile ca registru privat sau public unde puteți stoca și partaja imagini Docker.
În principal, echipa DevOps folosește Docker Hub. Este un instrument open-source și disponibil gratuit pentru toate sistemele de operare. Este ca un depozit în care stocăm imaginile și tragem imaginile atunci când este necesar. Când o persoană dorește să împingă/trage imagini din Docker Hub, trebuie să aibă cunoștințe de bază despre Docker. Să discutăm despre cerințele instrumentului Docker.
Ce este Docker Compose?
Docker Compose va executa o aplicație multi-container bazată pe YAML. Fișierul YAML constă din toate configurațiile necesare pentru implementarea containerelor Docker Compose , care este integrat cu Docker Swarm și oferă instrucțiuni pentru construirea și implementarea containerelor. Cu Docker Compose, fiecare container este construit pentru a rula pe o singură gazdă.
Cum să descărcați Docker Desktop?
Docker Desktop oferă GUI pentru a funcționa pe containerele docker, imaginile docker și rețelele docker. Desktop Docker oferă un mediu separat care conține Docker Engine, Docker CLI, Docker Compose, Kubernetes, și alte instrumente care sunt necesare pentru a construi, livra și rula aplicațiile sub formă de containere, ceea ce le face mai ușor de utilizat. Pentru a afla mai multe despre cum să instalați desktopul docker, consultați Docker Desktop Exemplu de imagine.
Comenzi Docker
Prin introducerea comenzilor esențiale docker, docker a devenit un software puternic în eficientizarea procesului de gestionare a containerelor. Ajută la asigurarea unor fluxuri de lucru fără întreruperi de dezvoltare și implementare. Următoarele sunt câteva dintre comenzile docker care sunt utilizate în mod obișnuit:
- Docker Run: Este folosit pentru lansarea containerelor din imagini, cu specificarea opțiunilor și comenzilor de rulare.
- Docker Pull: Preia imaginile containerului din registrul containerului, cum ar fi Docker Hub, pe mașina locală.
- Docker ps : ajută la afișarea containerelor care rulează împreună cu informațiile lor importante, cum ar fi ID-ul containerului, imaginea utilizată și starea.
- Docker Stop : ajută la oprirea rulării containerelor, închiderea grațioasă a proceselor din ele.
- Docker Start: Ajută la repornirea containerelor oprite, reluându-le operațiunile din starea anterioară.
- Conectare Docker: Vă ajută să vă conectați la registrul docker, permițând accesul la depozitele private.
Pentru a afla mai multe despre comenzile docker, consultați Docker – Comenzi de instrucțiuni .
Docker Engine
Software-ul care găzduiește containerele se numește Docker Engine. Docker Engine este o aplicație bazată pe client-server. Motorul docker are 3 componente principale:
- Server: Este responsabil pentru crearea și gestionarea imaginilor, containerelor, rețelelor și volumelor Docker pe Docker. Este denumit un proces demon.
- API-ul REST : Specifică modul în care aplicațiile pot interacționa cu serverul și îi indică ce să facă.
- Client: Clientul este o interfață de linie de comandă (CLI) docker, care ne permite să interacționăm cu Docker folosind comenzile docker.
De ce să folosiți Docker?
Docker poate fi folosit pentru a împacheta aplicația și dependențele acesteia, ceea ce face ca codul să fie ușor și ușor de trimis mai rapid și mai fiabil. Docker face foarte simplu să ruleze aplicația în mediul de producție. Containerul docker poate fi independent de platformă dacă motorul docker este instalat în mașină.
- Eficienta resurselor : Docker ajută la maximizarea utilizării resurselor prin rularea mai multor containere pe o singură gazdă. Ajută la reducerea costurilor de infrastructură și la îmbunătățirea eficienței.
- Controlul versiunii: Simplifică versiunea pentru aplicații și dependențele acestora, asigurând coerența și facilitând colaborarea între echipe.
- Agilitate microservicii: Permite adoptarea arhitecturii de microservicii, promovând scalabilitatea, flexibilitatea și dezvoltarea agilă a aplicațiilor pentru izolarea erorilor.
Ce este Docker For AWS?
Docker este cel mai puternic instrument de rulare a aplicației sub formă de containere. Containerele Docker sunt ușoare și pot fi rulate pe orice sistem de operare.
AWS oferă Amazon Elastic Container Service ( Amazon ECS ) este un serviciu de container complet gestionat prin care puteți implementa, scala și gestiona containerele docker. Amazon ECS este cea mai fiabilă platformă în funcție de performanță și, de asemenea, poate fi integrată cu celelalte servicii AWS, cum ar fi echilibrarea încărcăturii, descoperirea serviciilor și monitorizarea sănătății containerului. Pentru a afla mai multe despre Amazon Elastic Container Service (Amazon ECS) .
Diferența dintre containerele Docker și mașinile virtuale
Următoarele sunt diferențele dintre containerele docker și mașinile virtuale:
Containere Docker | Mașini virtuale |
---|---|
Containerele Docker conțin fișiere binare, biblioteci și fișiere de configurare împreună cu aplicația în sine. | Mașinile virtuale (VM) rulează pe Hypervisori, care permit mai multor mașini virtuale să ruleze pe o singură mașină împreună cu propriul sistem de operare. |
Ele nu conțin un sistem de operare invitat pentru fiecare container și se bazează pe nucleul sistemului de operare subiacent, ceea ce face containerele ușoare. | Fiecare VM are propria copie a unui sistem de operare împreună cu aplicația și binarele necesare, ceea ce o face semnificativ mai mare și necesită mai multe resurse. |
Containerele partajează resurse cu alte containere din același sistem de operare gazdă și oferă izolarea procesului la nivel de sistem de operare. | Acestea oferă izolarea proceselor la nivel de hardware și sunt lente la pornire. |
Instalați Docker pe Ubuntu
Următorii pași vă ghidează în instalarea docker pe ubuntu:
Pasul 1: Eliminați versiunea veche a Docker
- Executați următoarea comandă pentru a elimina vechiul software docker cu versiunea:
$ sudo apt-get remove docker docker-engine docker.io containerd runc>
Pasul 2: Instalarea motorului Docker
- Următoarea comandă este utilizată pentru instalarea motorului docker:
$ sudo apt-get update $ sudo apt-get install ca-certificates curl gnupg lsb-release $ sudo mkdir -p /etc/apt/keyrings $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg $ echo 'deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable' | sudo tee /etc/apt/sources.list.d/docker.list>/dev/null $ sudo apt-get update $ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin $ sudo groupadd docker $ sudo usermod -aG docker $USER>
Pasul 3: Verificați instalarea Docker
- Verificați dacă docker este instalat cu succes în sistemul dvs. încercând să rulați un container cu următoarea comandă:
$ sudo docker run hello-world>
Pentru mai multe detalii despre instalarea docker pe ubuntu, consultați aceasta - Articol
Exemplu de exemplu: Containerizarea aplicației utilizând Docker
Următorii pași ghidează în containerizarea aplicației folosind Docker:
Pasul 1: Creați aplicația Dokcerfile și Python
- Creați un folder cu 2 fișiere (Dockerfile și fișier main.py) în el
Pasul 2: Dezvoltați codul Python
- Editați main.py cu codul de mai jos, sau puteți încerca să vă dezvoltați propriul cod python.
#!/usr/bin/env python3 print('Docker and GFG rock!')>
Pasul 3: Dezvoltați un Dockerfile
- Editați Dockerfile cu instrucțiunile de mai jos pentru dezvoltarea Dockerfile:
FROM python:latest COPY main.py / CMD [ 'python', './main.py' ]>
Pasul 4: Creați o imagine Docker
- Odată ce ați creat și editat fișierul main.py și fișierul Docker, creați imaginea care conține aplicația dvs. rulând următoarea comandă:
$ sudo docker build -t python-test .>
- Opțiunea „-t” vă permite să definiți numele imaginii dvs. „python-test” este numele pe care l-am ales pentru imagine.
Pasul 5: rulați Docker Container
- Odată ce imaginea este creată, codul dvs. este gata de lansare.
$ sudo docker run python-test>
Pentru a afla mai multe despre această containerizare a aplicației dvs., consultați aceasta - Articol
Exemplu de exemplu pentru a împinge o imagine în Docker Hub
Următorii pași îndrumă în împingerea unei imagini în Dockerhub:
Pasul 1: Creați un cont pe Docker Hub sau utilizați unul existent dacă aveți deja unul.
Pasul 2: Faceți clic pe butonul Creare depozit, puneți numele fișierului și faceți clic pe Creare.
Pasul 3: Acum ne vom eticheta imaginea și o vom împinge în depozitul Docker Hub pe care tocmai l-am creat.
- Acum, rulați comanda de mai jos pentru a lista imaginile docker:
$ docker images>
- Cele de mai sus ne vor oferi acest rezultat
REPOSITORY TAG IMAGE_ID CREATED SIZE afrozchakure/python-test latest c7857f97ebbd 2 hours ago 933MB>
- ID-ul imaginii este folosit pentru a eticheta imaginea. Sintaxa pentru etichetarea imaginii este:
docker tag /python-test:latest $ docker tag c7857f97ebbd afrozchakure/python-test:latest>
Pasul 4: Împingeți imaginea în depozitul Docker Hub
$ docker push afrozchakure/python-test>
Pentru a afla mai multe despre publicarea imaginilor pe dockerhub, consultați aceasta - Articol
Preluați și rulați imaginea din Docker Hub
1. Pentru a elimina toate versiunile unei anumite imagini din sistemul nostru local, folosim ID-ul imaginii pentru aceasta.
$ docker rmi -f af939ee31fdc>
2. Acum rulați imaginea, aceasta va prelua imaginea din hub-ul docker dacă nu există pe mașina dvs. locală.
$ docker run afrozchakure/python-test>
Beneficiile Docker
Următoarele sunt câteva dintre beneficiile Docker:
- Portabilitate: Facilități Docker cu crearea de containere portabile ușoare care pot fi imposibile pe orice mașină, indiferent de sistemele de operare subiacente.
- Izolare: Docker prin containere oferă un nivel ridicat de izolare, permițând aplicațiilor să ruleze independent unele de altele, abordând problemele pe care un container nu le afectează pe altul.
- Reproductibilitate: Cu, dezvoltatorii Docker își pot împacheta cu ușurință aplicațiile și dependențele lor în imagini reutilizabile. Permite versiuni consistente și repoducibile în mediile de dezvoltare, testare și producție.
- Integrarea DevOps : Promovează colaborarea și automatizarea de-a lungul ciclului de viață al dezvoltării software în gestionarea sarcinilor de lucru în creștere.
Alternative la Docker
Următoarele sunt alternativele de Docker:
- Supluit : Oferă un motor de container compatibil cu Docker, cu accent pe securitate și compatibilitate, ideal pentru mediile în care Docker nu este preferat sau disponibil.
- rkt: Un timp de rulare a containerului ușor dezvoltat de CoreOS, conceput pentru simplitate, securitate și compozibilitate, oferind o alternativă la durata de rulare a containerului Docker.
- LXC (containere Linux): Oferă virtualizare la nivel de sistem de operare pentru rularea mai multor sisteme Linux izolate (containere) pe o singură gazdă, oferind o alternativă ușoară la Docker pentru anumite cazuri de utilizare.
- containerd: Un timp de rulare a containerelor standard dezvoltat de Docker, Inc., care oferă o platformă minimă și stabilă pentru construirea de aplicații containerizate, adesea folosită ca alternativă de nivel inferior la Docker pentru sisteme mai avansate de orchestrare a containerelor, cum ar fi Kubernetes.
Docker Security
Următoarele sunt câteva dintre informațiile despre securitatea docker:
- Izolare : Containerele Docker asigură o izolare puternică care asigură aplicațiile și procesează rularea acestora.
- Infrastructură imuabilă : promovează utilizarea infrastructurii imuabile, în care containerele sunt construite din imagini imuabile care sunt controlate de versiuni.
- Constrângeri de resurse: Vă permite să definiți constrângerile de resurse pentru containere, cum ar fi limitele CPU și memorie.
- Scanare de securitate: Acesta oferă instrumentele de scanare de securitate încorporate care vă permit să scanați imaginile containerului pentru vulnerabilități cunoscute și programe malware înainte de implementare.
Concluzie
Așa că ați învățat despre elementele de bază ale Docker, diferența dintre mașinile virtuale și containerele Docker, împreună cu unele terminologii comune în Docker. De asemenea, am trecut prin instalarea Docker pe sistemele noastre. Am creat o aplicație folosind Docker și am împins imaginea noastră în Docker Hub. În cele din urmă, am învățat cum am putea elimina o anumită imagine din sistemul nostru local și mai târziu să tragem imaginea din Docker Hub dacă nu există local.
Docker – Întrebări frecvente
Ce este Docker Hub pe scurt?
Docker Hub este un registru public în care utilizatorii/dezvoltatorii pot stoca și partaja imagini de sistem create de aceștia și fac ca acestea să acceseze și să refolosească cu ușurință imaginile pentru alți dezvoltatori de software.
indicator de dereferire c
Ce este necesar pentru a utiliza Docker Hub?
Pentru a utiliza Docker Hub, utilizatorul trebuie să aibă un cont pe platforma Docker Hub. Dacă nu aveți un cont pe Docker Hub, puteți crea unul cântând. Odată ce aveți un cont pe Docker, atunci puteți efectua operațiuni precum push and pull imagini către și de la Docker Hub.
Ce sunt Docker Logs?
Daemonul Docker și containerele Docker vor genera jurnalele Docker sub formă de mesaje text, care vă vor ajuta să depanați în continuare problemele, să monitorizați performanța aplicațiilor și să culegeți informații despre starea mediului Docker.
Ce este Docker Build?
Docker build este o comandă care este utilizată pentru a construi imaginea docker utilizând fișierul Docker.
Ce este Docker Ubuntu?
Docker Ubuntu este termenul folosit pentru utilizarea serviciului Docker cu sisteme de operare bazate pe Ubuntu. Rularea Docker este cea mai potrivită pentru populara distribuție Linux Ubuntu.