Tutorial Docker pentru începători: elemente de bază, Architectură, Containere

Ce este Docker?

Docher este o platformă de dezvoltare software pentru virtualizare cu multiple Operasisteme care rulează pe aceeași gazdă. Ajută la separarea infrastructurii și aplicațiilor pentru a livra rapid software. Spre deosebire de Hypervisori, care sunt utilizați pentru crearea VM (mașini virtuale), virtualizarea în Docker se realizează la nivel de sistem, numit și containere Docker.

După cum puteți vedea diferența în imaginea de mai jos, containerele Docker rulează peste cele ale gazdei Operasistem de țiune. Acest lucru vă ajută să îmbunătățiți eficiența și securitatea. Mai mult, putem rula mai multe containere pe aceeași infrastructură decât putem rula mașini virtuale, deoarece containerele folosesc mai puține resurse.

Virtualizare în Docker vs Hypervisor
Virtualizare în Docker vs Hypervisor

Spre deosebire de VM-urile care pot comunica cu hardware-ul gazdei (ex: adaptor Ethernet pentru a crea mai multe adaptoare virtuale), containerele Docker rulează într-un mediu izolat deasupra sistemului de operare al gazdei. Chiar dacă gazda dvs. rulează Windows OS, puteți avea imagini Linux rulând în containere cu ajutorul lui Hyper-V, care creează automat o mașină virtuală mică pentru a virtualiza imaginea de bază a sistemului, în acest caz, Linux.

De ce să folosiți Docker?

  • Docker este un software de calculator folosit pentru virtualizare pentru a avea mai multe Operasisteme de tingere rulează pe aceeași gazdă
  • Docker este tipul de aplicație client-server, ceea ce înseamnă că avem clienți care se transmit către server
  • Imaginile Docker sunt „codul sursă” pentru containerele noastre; le folosim pentru a construi
  • Dockerfile are două tipuri de registre 1.) publice și 2) private
  • Containerele sunt unitățile organizaționale ale volumului Docker. Î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.

Docher Architectură

Acum, în acest tutorial de container Docker, să vorbim despre componentele principale Docker din Docker Architectura:

Docher Architectură
Docher Architectură

Motor Docker

Docker este tipul de aplicație client-server, ceea ce înseamnă că avem clienți care se transmit către server. Deci, demonul Docker numit: dockerd este motorul Docker care reprezintă serverul. Daemonul docker și clienții pot fi rulați pe aceeași gazdă sau la distanță și comunică prin linia de comandă client binar, precum și un RESTful API pentru a interacționa cu demonul: dockerd.

Imagini Docker

Imaginile Docker sunt „codul sursă” pentru containerele noastre; le folosim pentru a construi containere. Acestea pot avea software preinstalat, care accelerează implementarea. Sunt portabile și putem folosi imaginile existente sau putem construi propriile noastre imagini.

Registre Docker

Docker stochează imaginile pe care le construim în registre. Există registre publice și private. Compania Docker are un registru public numit Hub Docker, unde puteți stoca imagini și în mod privat. Hubul Docker are milioane de imagini, pe care le puteți începe acum.

Docker Containere

Containerele sunt unitățile organizaționale și unul dintre conceptul de bază Docker. Când construim o imagine și începem să o rulăm; alergăm într-un container. Analogia containerului este folosită datorită portabilității software-ului pe care îl rulăm în containerul nostru. Îl putem muta, cu alte cuvinte, „expediem” software-ul, îl putem modifica, gestiona, crea sau scăpa de el, îl putem distruge, la fel cum pot face navele de marfă cu containerele 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.

Mai jos avem o imagine care reprezintă perfect interacțiunea dintre diferitele componente și modul în care funcționează tehnologia containerelor Docker.

Ce avem mai multe comenzi dockers docker pull, docker run... vom vorbi mai multe despre asta mai târziu.

Cum se instalează Docker pe Linux/Ubuntu

Mai jos este un proces de instalare Docker pas cu pas pe Linux/Ubuntu:

Etapa 1) Pentru a instala Docker, trebuie să folosim pachetele DEB ale echipei Docker.

Pentru asta, o cerință prealabilă Ubuntu sunt necesare pachete.

Utilizați comanda de mai jos pentru a instala Ubuntu ofertele

$ 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 oficială Docker GPG cu amprenta.

Utilizaț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.

Utilizați comanda Docker de mai jos pentru a adăuga depozitul

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

Vi se poate cere să confirmați că doriți să adăugați depozitul și să adăugați automat cheia GPG la gazda dvs.

Comanda lsb_release ar trebui să completeze Ubuntu versiunea de distribuție a gazdei dvs.

Pas 4) După adăugarea cheii GPG,

Actualizați sursele APT utilizând comanda Docker de mai jos

$ sudo apt-get update

Acum putem instala pachetul Docker în sine.

Pas 5) Odată ce sursele APT sunt actualizate,

Începeți să instalați pachetele Docker Ubuntu folosind comanda Docker de mai jos

$ sudo apt-get install docker-ce

Comanda de mai sus instalează Docker și alte pachete suplimentare 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 serverul 2016 RTM să ruleze

Cum să utilizați Docker folosind comenzile de bază Docker

Iată cum să utilizați Docker folosind comenzile de bază Docker:

Cea mai de bază comandă pe care trebuie să o rulăm după instalarea Docker este $ docker info așa cum am spus anterior.

$ sudo docker info

Ar trebui să obțineți rezultatul similar sau următorul

Utilizați Docker folosind comenzile Docker de bază

După cum putem vedea în exemplul Docker de mai sus, avem informații despre containerele docker câte rulează, sunt întrerupte sau oprite și câte imagini am descărcat. Deci, să obținem prima noastră imagine în acest tutorial de comenzi Docker.

$ sudo docker pull alpine

Cu această comandă îi spunem docker să descarce imaginea alpine, să o tragă din registrul public, 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ă dorim să rulăm imaginea ca container, vom folosi următoarea comandă în acest ghid de tutoriale Docker.

$ sudo docker run -i -t alpine /bin/bash

Dacă rulăm comanda, vom fi trimiși direct la terminalul alpin. Steagul -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. Steagul -t este cealaltă jumătate și care îi cere lui Docker să atribuie un pseudo-tty containerului. Acest lucru ne oferă o carcasă interactivă în noul container. Ieșim din container cu o comandă simplă 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

Puteți observa că docker verifică imaginea la nivel local și, dacă nu este acolo, imaginea este extrasă automat din biblioteca de imagini și, din nou, avem un shell interactiv care rulează. De asemenea, putem numi containerele pe măsură ce le rulăm.

$ sudo docker run –-name our_container -it ubuntu /bin/bash

și ieșim din nou.

De asemenea, putem rula containerul pe care l-am creat anterior, fără un shell interactiv.

$ sudo docker start container_name

Și opriți scrierea containerului docker stop container_name

$ sudo docker stop container_name

Dacă vrem să vedem toate containerele care rulează, pur și simplu alergăm

$ docker ps

Și pentru toate containerele adăugăm „- a” la sfârșitul aceleiași comenzi, ca acest docker ps -a.

Această comandă arată ID-ul containerului, ce imagine folosește când a fost creată, starea de rulare, porturile expuse și numele generat aleatoriu pentru container pentru o gestionare mai ușoară.

Când rulăm containere, am dori, de asemenea, să știm câte resurse folosesc, în acest scop putem folosi comanda.

$ docker stats

De asemenea, puteți vedea ce imagini am descărcat local și informații despre ele.

$ sudo docker images

Comanda din exemplul Docker de mai sus afișează imaginea docker cu o etichetă care arată versiunea imaginii noastre, un ID distinctiv al imaginii, când a fost creată și dimensiunea imaginii.

Ce este virtualizarea?

Anterior, procesul de implementare a unui serviciu a fost lent și dureros. În primul rând, dezvoltatorii scriau cod; apoi echipa de operațiuni l-ar fi implementat pe mașinile bare metal, unde trebuiau să caute versiuni de bibliotecă, patch-uri și compilatoare de limbi pentru ca codul să funcționeze. Dacă existau unele erori sau erori, procesul începea de la capăt, dezvoltatorii îl remediau și apoi din nou echipa operațională era acolo pentru implementare.

A existat o îmbunătățire odată cu crearea Hypervisorilor. Hypervisorii au mai multe Mașini virtuale sau VM-uri de pe aceeași gazdă, care pot fi în execuție sau oprite. Mașinile virtuale au redus timpul de așteptare pentru implementarea codului și remedierea erorilor într-un mod semnificativ, dar adevăratul schimbător de joc au fost containerele 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 Întrebări și răspunsuri la interviul de angajare Docker pentru profesioniști mai proaspeți, precum și cu experiență.

Rezumat

  • Docker este o platformă de dezvoltare software pentru virtualizare cu multiple Operasisteme care rulează pe aceeași gazdă. Ajută la separarea infrastructurii și aplicațiilor pentru a livra rapid software.
  • Docher Architectura: Docker Engine, Docker Images, Docker Registries, Docker Containers.
  • Motor Docker: Docker este tipul de aplicație client-server, ceea ce înseamnă că avem clienți care se transmit către server. Deci, demonul Docker numit: dockerd este motorul Docker care reprezintă serverul.
  • Imagini Docker: Imaginile Docker sunt „codul sursă” pentru containerele noastre; le folosim pentru a construi containere. Acestea pot avea software preinstalat, care accelerează implementarea. Sunt portabile și putem folosi imaginile existente sau putem construi propriile noastre imagini.
  • Registre Docker: Docker stochează imaginile pe care le construim în registre. Există registre publice și private. Compania Docker are un registru public numit Docker hub, unde puteți stoca imagini în mod privat. Hubul Docker are milioane de imagini, pe care le puteți începe acum.
  • Containere Docker: Containerele sunt unitățile organizaționale și unul dintre conceptul de bază Docker. Când construim o imagine și începem să o rulăm; alergăm într-un container. Analogia containerului este folosită datorită portabilității software-ului pe care îl rulăm în containerul nostru.