Tot ce ar trebui să știți despre Docker Hub

Să aflăm despre Docker Hub.

Astăzi, în acest tutorial, vom afla despre Docker Hub, inclusiv cum să-l folosim, cum să ne creăm propria imagine și cum ajută la publicarea și extragerea imaginilor către și dinspre Docker Hub. De asemenea, vom petrece ceva timp explorând unele dintre depozitele populare de pe Docker Hub.

Cerințe preliminare

Aveți nevoie de o înțelegere de bază a Docker, familiarizat cu mediul Windows și Linux. Acest tutorial va folosi instrumentul Docker Desktop pentru exersarea exercițiilor în curs de desfășurare, adică pentru a construi și a împinge o imagine în Docker Hub. Utilizatorii Windows și Mac îl pot descărca și instala de pe Aiciiar utilizatorii Linux urmează acest lucru legătură.

Ce este Docker Hub?

Docker Hub este un serviciu de registru de depozit oferit de Docker Inc.

Ne permite să extragem și să împingem imagini Docker către și de la Docker Hub. Putem trata acest lucru ca pe un GitHub, de unde obținem și împingem codul sursă, dar în cazul Docker Hub, descarcăm sau publicăm imaginile containerului nostru. Este un depozit online bazat pe cloud care stochează ambele tipuri de depozite, adică depozitul public, precum și cel privat. Arhivele publice sunt accesibile tuturor, dar cel privat este accesibil proprietarului în cauză al depozitelor; de asemenea, există un cost asociat cu acesta dacă stocăm mai mult de un anumit număr de depozite ca private.

Caracteristici Docker Hub

Docker Hub oferă următoarele caracteristici.

#1. Arhivele de imagini

Ne ajută să găsim și să extragem imagini de container din Docker Hub.

De asemenea, ne ajută să trimitem imagini ca depozit public sau privat în Docker Hub.

#2. Echipa si organizatii

Ne permite să creăm grupuri de lucru și să împingem depozitele ca unul privat, care este disponibil pentru utilizare numai în cadrul organizației noastre. În acest fel, am reușit accesul la depozitele noastre private de imagini ale containerelor.

#3. Integrarea GitHub și Bitbucket

Permite integrarea cu depozite de cod sursă, cum ar fi GitHub și BitBucket.

#4. Build-uri automatizate

Dacă orice modificare a codului sursă a fost trimisă în depozitele de cod sursă, detectează și construiește automat imagini container din GitHub sau BitBucket și le împinge în Docker Hub.

  Tiny Deduplicator caută fișiere duplicate pe baza valorii hash

#5. Webhook-uri

Odată ce ne-am împins imaginile cu succes, cu ajutorul unui webhook, acesta declanșează o acțiune de integrare a Docker Hub cu alte servicii.

#6. Imagini oficiale și ale editorilor

Imaginile de înaltă calitate furnizate de dockeri sunt considerate imagini oficiale și pot fi extrase și utilizate. În mod similar, imaginile de înaltă calitate furnizate de furnizori externi sunt imagini ale editorilor, numite și imagini certificate, ceea ce oferă suport și garanție de compatibilitate cu Docker enterprise. Vom discuta mai multe imagini certificate mai târziu în acest articol.

Crearea primului depozit

Acest pas necesită autentificarea la Docker Hub folosind datele dvs. de conectare. Dacă nu aveți un cont, vă puteți crea deja făcând clic pe butonul Înregistrare disponibil pe pagina web. După ce v-ați conectat, puteți crea depozitul făcând clic pe Creare depozit pe pagina de bun venit.

  • Odată ce ați făcut clic pe Creare depozit, acesta va cere un nume, va da un nume depozitului dvs.

  • Selectați o opțiune de vizibilitate din public sau privat.

De asemenea, putem integra depozitele noastre de cod sursă, cum ar fi GitHub și BitBucket, prin setarea de compilare, dar este opțional și poate fi făcut și într-o etapă ulterioară.

  • După ce totul este gata, faceți clic pe Creare.

Felicitari! Ați creat primele depozite, care vor arăta după cum urmează.

Docker Hub ne oferă gratuit un singur depozit privat. Deși, dacă avem nevoie de mai multe depozite private, ne putem actualiza contul la un plan plătit.

Acum deschideți instrumentul/terminalul Docker Desktop, descărcat și instalat mai sus și conectați-vă la Docker Hub, folosind o comandă.

docker login

Explorarea imaginilor

Există două moduri de a căuta în depozite publice și imagini din Docker Hub, adică le putem căuta fie de pe site-ul web Docker Hub, fie putem folosi instrumentul de linie de comandă și rulăm comanda de mai jos. Luați în considerare că vrem să căutăm imaginea din depozitul MySQL.

docker search mysql

Descărcarea unei imagini

Putem descărca o imagine din comanda Docker Hub folosind comanda pull, după cum urmează

# docker pull mysql

Dacă avem deja imagine mysql pe mașina noastră, atunci comanda de mai sus va actualiza automat imaginea la cea mai recentă versiune. Un lucru de reținut aici este că, dacă observăm rezultatul comenzii noastre de căutare Docker, există multe imagini ale MySQL pe Docker Hub și asta pentru că oricine poate împinge o imagine. Dar depinde de noi, pe care să-l folosim în funcție de cazul nostru de utilizare, și trebuie să o brânzăm pe cea potrivită.

  Cum poți reseta o placă

Să presupunem că vrem să extragem o imagine bitnami/mysql.

# docker pull bitnami/mysql

Crearea unei imagini

Acest proces necesită un Dockerfile. Putem gândi un Dockerfile ca un manual de instrucțiuni care îi spune docker-ului ce să asambla. Pe scurt, este un fișier de configurare care păstrează instrucțiunile de asamblare, ceea ce îi spunem să asambleze.

Cum functioneazã?

Docker citește instrucțiunile dintr-un fișier Docker și creează imagini automat. Imaginea Docker este un sistem de fișiere stratificat și constă din mai multe straturi numai pentru citire, iar fiecare strat al unei imagini Docker reprezintă instrucțiuni ale unui fișier Docker. Să urmăm pașii de mai jos pentru a crea o imagine folosind Dockerfile.

Creați un Dockerfile, care specifică configurația aplicației noastre.

# sudo vim Dockerfile

Notă – Numele fișierului ar trebui să fie Dockerfile cu „D“ majusculă.

FROM ubuntu:16.04
MAINTAINER [email protected]
RUN apt-get update
RUN apt-get install –y mysql
CMD echo "My first image created."

Să aruncăm o privire la câteva dintre cuvintele cheie importante folosite în Dockerfile

  • Putem folosi # simboluri pentru a adăuga un comentariu într-un fișier Docker
  • Cuvântul cheie „FROM” definește imaginea de bază care trebuie utilizată.
  • INTRETINERE” cheie cheie este persoana care va menține acea imagine.
  • Cuvântul cheie „RUN” este folosit pentru a rula instrucțiunile date pentru imagine. În cazul nostru, mai întâi, actualizați sistemul și apoi instalați MySQL.
  • Cuvântul cheie „CMD” este folosit pentru a executa o comandă odată ce containerul a fost lansat.
  • Cuvântul cheie „COPIE” poate fi folosit pentru a copia un fișier din sistemul nostru de operare gazdă în containerul docker.
  • Cuvântul cheie „EXPOSE” este folosit pentru a specifica numărul portului în care containerul își va rula procesul.

Rulați comanda de mai jos pentru a construi imaginea noastră Docker

Sintaxă:

docker build -t /nume-repo .

# docker build -t asadali08537/first-repo .

În comanda de mai sus, numele imaginii este și „.” specifică directorul de lucru curent. Acesta este un indiciu pentru ca Docker să caute directorul curent al fișierului docker. „-t” este folosit pentru a eticheta imaginea. Putem vedea rezultate similare cu:

Acum să ne testăm imaginea rulând-o prin comanda de rulare a docker.

docker run asadali08527/first-repo

Executarea comenzii de mai sus va cere imaginii dvs. Docker să instaleze cu succes MySQL pe mașina dvs. cu toate actualizările necesare și, în final, va afișa și un mesaj ecou.

Împingerea unei imagini

Odată ce imaginea noastră a fost creată cu succes și rulează, o putem împinge în Docker Hub prin comanda push.

docker push asadali08527/first-repo

Putem verifica etichetele și starea imaginii pe Docker Hub, care va arăta cam așa.

  Sincronizați note specifice site-ului pe computere

Ce este Docker Certified Images?

Acestea sunt imaginile oficiale transmise fie de vânzători, fie de colaboratori. O imagine poate fi certificată de Docker Hub numai dacă conținutul acesteia respectă regulile, standardele și legile furnizate de Docker Hub. Pe scurt, acea imagine trebuie să treacă anumite teste de bază.

Docker Hub oferă instrumentul inspectDockerImage, prin care un furnizor poate auto-certifica imaginile și pluginurile (de obicei, furnizorul sau colaboratorul își publică pluginurile pentru înregistrarea volumelor și rețelelor).

Notă –

Pentru a ne publica imaginea ca certificată Docker, mai întâi trebuie să certificăm și să ne testăm imaginile și pluginul prin intermediul inspectDockerImage instrument, după ce ne-am certificat și testat cu succes, la trimitere, Docker Hub îl va certifica. Dacă conținutul nostru necesită un mediu necertificat, atunci nu poate fi publicat ca certificat în nicio circumstanță.

Există multe imagini curatate și optimizate disponibile pe Docker Hub.

Popularitatea acestor imagini depinde de diverși factori, cum ar fi atracții, prezența pe piață, evaluări, scoruri de satisfacție etc. Pentru o listă detaliată a celor mai populare depozite, să navigăm la Docker Hub site-ul web. Utilizarea unei imagini depinde, de asemenea, de sistemul de operare și de arhitectura acesteia. Dacă știm că imaginile extrase vor fi folosite pentru ce sistem de operare și arhitectura sa, atunci trebuie să luăm în considerare mai jos factorii cheie înainte de a extrage o imagine.

  • Căutați o anumită versiune folosind etichete (mai ales cea mai recentă).
  • Optează pe cel care are descărcări și stele maxime.
  • Verificați actualizările sale (când a fost actualizat ultima dată).
  • Dacă este posibil, verificați tipul acestuia, indiferent dacă este un editor verificat sau unul oficial (certificat Docker).

Webhook-uri

Un webhook este un apel invers web care funcționează cu evenimente și este o modalitate prin care o aplicație poate furniza informații în timp real unei alte aplicații. În zilele noastre, aproape fiecare aplicație oferă o facilitate webhook, așa că Docker Hub are și această caracteristică.

Este un API push HTTP declanșat de evenimente desemnate de utilizator. Putem folosi un webhook în docker pentru a notifica o aplicație sau un serviciu care utilizează imaginile în cauză. În general, configurăm webhook-uri cu docker ca o conductă de evenimente, astfel încât orice încărcare de imagini noi va declanșa aplicații de testare pentru a rula cazurile de testare subliniate.

Odată ce rezultatul testului are succes, va declanșa un alt eveniment, care va fi implementarea containerului, iar odată ce implementarea a fost realizată cu succes, va declanșa alte evenimente pentru a înregistra modificările efectuate până acum.

Concluzie

Cred că acum aveți o înțelegere corectă a Docker Hub și a modului în care puteți căuta, crea și împinge imagini. Rețineți că atunci când împingeți imagini publice, acestea vor fi vizibile pentru oricine.

Dacă nu deja, consultați acest ghid de instalare Docker.