Alt hvad du bør vide om Docker Hub

Lad os finde ud af om Docker Hub.

I dag vil vi i denne tutorial lære om Docker Hub, herunder hvordan man bruger det, hvordan man skaber vores eget billede, og hvordan det hjælper med at publicere og trække billeder til og fra Docker Hub. Og vi vil også bruge lidt tid på at udforske nogle af de populære depoter på Docker Hub.

Forudsætninger

Du kræver en grundlæggende forståelse af Docker, fortrolig med Windows og Linux-miljøer. Denne vejledning vil bruge Docker Desktop-værktøjet til at øve igangværende træning, dvs. at bygge og skubbe et billede til Docker Hub. Windows- og Mac-brugere kan downloade og installere det fra herog Linux-brugere følger dette link.

Hvad er Docker Hub?

Docker Hub er en lagerregistreringstjeneste leveret af Docker Inc.

Det giver os mulighed for at trække og skubbe docker-billeder til og fra Docker Hub. Vi kan behandle dette som en GitHub, hvor vi henter og skubber vores kildekode, men i tilfælde af Docker Hub downloader eller udgiver vi vores containerbilleder. Det er et cloud-baseret online repository, der gemmer begge typer repositories, dvs. pubic repository såvel som det private repository. Offentlige arkiver er tilgængelige for alle, men det private er tilgængeligt for den pågældende ejer af arkiverne; der er også en omkostning forbundet med det, hvis vi opbevarer mere end et vist antal depoter som private.

Docker Hub-funktioner

Docker Hub tilbyder følgende flere funktioner.

#1. Billedlager

Det hjælper os med at finde og trække containerbilleder fra Docker Hub.

Det hjælper os også med at skubbe billeder som et offentligt eller privat lager til Docker Hub.

#2. Team og organisationer

Det giver os mulighed for at oprette arbejdsgrupper og skubbe lagrene som et privat, som kun er tilgængeligt til brug i vores organisation. På denne måde har vi administreret adgangen til vores private depoter af containerbilleder.

#3. GitHub og Bitbucket Integration

Det tillader integration med kildekodedepoter som GitHub og BitBucket.

#4. Automatiserede byggerier

Hvis en ændring i kildekoden er blevet skubbet til kildekodelagre, registrerer og bygger den automatisk containerbilleder fra GitHub eller BitBucket og skubber dem til Docker Hub.

  Ret Active Directory Domain Services er i øjeblikket ikke tilgængelig

#5. Webhooks

Når vi har skubbet vores billeder med succes, ved hjælp af en webhook, udløser det en handling for at integrere Docker Hub med andre tjenester.

#6. Officielle og udgiverbilleder

De højkvalitetsbilleder, der leveres af havnearbejdere, betragtes som officielle billeder, og de kan trækkes og bruges. Tilsvarende er billeder af høj kvalitet leveret af eksterne leverandører udgiverbilleder, også kaldet certificerede billeder, som giver support og kompatibilitetsgaranti med Docker enterprise. Vi vil diskutere flere certificerede billeder senere i denne artikel.

Oprettelse af første lager

Dette trin kræver, at du logger ind på Docker Hub ved at bruge dine loginoplysninger. Hvis du ikke har en konto, kan du allerede oprette ved at klikke på knappen Tilmeld, som er tilgængelig på websiden. Når du har logget ind, kan du oprette repository ved at klikke på Create Repository på velkomstsiden.

  • Når du har klikket på Opret lager, vil det bede om et navn, giv et navn til dit lager.

  • Vælg en synlighedsindstilling fra offentlig eller privat.

Vi kan også integrere vores kildekodedepoter som GitHub og BitBucket gennem byggeindstillinger, men det er valgfrit og kan også gøres på et senere tidspunkt.

  • Når alt er gjort, skal du klikke på Opret.

Tillykke! Du har oprettet dine første repositories, som vil se ud som følger.

Docker Hub giver os kun ét privat depot gratis. Selvom vi har brug for flere private depoter, kan vi opgradere vores konto til en betalt plan.

Åbn nu Docker Desktop-værktøjet/terminalen, downloadet og installeret ovenfor, og log ind på Docker Hub ved at bruge en kommando.

docker login

Udforsker billederne

Der er to måder at søge i offentlige depoter og billeder fra Docker Hub, det vil sige, vi kan enten søge i det fra Docker Hub-webstedet, eller vi kan bruge kommandolinjeværktøjet og køre nedenstående kommando. Overvej, at vi ønsker at søge i MySQL-lagerbilledet.

docker search mysql

Downloader et billede

Vi kan downloade et billede fra Docker Hub-kommandoen ved at bruge pull-kommandoen som følger

# docker pull mysql

Hvis vi allerede har mysql-billede på vores maskine, vil ovenstående kommando automatisk opdatere billedet til den nyeste version. En ting at huske på her er, at hvis vi bemærker vores docker-søgekommando-output, er der mange billeder af MySQL på Docker Hub, og det er fordi alle kan skubbe et billede. Men det afhænger af os, hvilken man skal bruge baseret på vores use-case., og vi skal oste den passende.

  Sådan rydder du din Spotify-kø

Lad os sige, at vi vil trække et bitnami/mysql-billede.

# docker pull bitnami/mysql

Oprettelse af et billede

Denne proces kræver en Dockerfile. Vi kan tænke en Dockerfile som en instruktionsmanual, der fortæller docker, hvad han skal samle. Kort sagt er det en konfigurationsfil, der bliver ved med at samle instruktioner, hvad vi fortæller den skal samle.

Hvordan virker det?

Docker læser instruktionen fra en Dockerfil og bygger billeder automatisk. Docker-billede er et lagdelt filsystem, og det består af flere skrivebeskyttede lag, og hvert lag af et Docker-billede repræsenterer instruktioner fra en Dockerfil. Lad os følge nedenstående trin for at oprette et billede ved hjælp af Dockerfile.

Opret en Dockerfile, som specificerer vores applikationskonfiguration.

# sudo vim Dockerfile

Bemærk – Navnet på filen skal være Dockerfile med stort “D”.

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

Lad os tage et kig på nogle af de vigtige nøgleord, der bruges i Dockerfile

  • Vi kan bruge # symboler til at tilføje en kommentar i en Dockerfile
  • Nøgleordet “FROM” definerer det basisbillede, der skal bruges.
  • Det “VEDLIGEHOLDER” nøgleordet er den person, der skal bevare det billede.
  • Nøgleordet “RUN” bruges til at køre instruktionen givet for billedet. I vores tilfælde skal du først opdatere systemet og derefter installere MySQL.
  • Nøgleordet “CMD” bruges til at udføre en kommando, når containeren er blevet startet.
  • Nøgleordet “COPY” kan bruges til at kopiere en fil fra vores værtsoperativsystem til docker-containeren.
  • Nøgleordet “EXPOSE” bruges til at angive portnummeret, som containeren vil køre sin proces til.

Kør nedenstående kommando for at bygge vores Docker-billede

Syntaks:

docker build -t /repo-navn .

# docker build -t asadali08537/first-repo .

I ovenstående kommando er navnet på billedet og “.” angiver den aktuelle arbejdsmappe. Dette er en indikation for, at Docker leder efter den aktuelle mappe i docker-filen. “-t” bruges til at tagge billedet. Vi kan se output svarende til:

Lad os nu teste vores billede ved at køre det gennem run-kommandoen i docker.

docker run asadali08527/first-repo

Udførelse af ovenstående kommando vil bede dit Docker-billede om at installere MySQL på din maskine med alle nødvendige opdateringer, og endelig vil det også vise ekko-meddelelse.

At skubbe et billede

Når vores billede er blevet oprettet, og det kører, kan vi skubbe det til Docker Hub gennem push-kommando.

docker push asadali08527/first-repo

Vi kan tjekke billedmærkerne og status på Docker Hub, som vil se nogenlunde sådan ud.

  Sådan tænder du hurtigt lavenergitilstand på din iPhone

Hvad er Docker Certified Images?

Disse er de officielle billeder skubbet af enten leverandører eller bidragydere. Et billede kan kun certificeres af Docker Hub, hvis dets indhold overholder regler, standarder og love leveret af Docker Hub. Kort sagt, det billede skal bestå visse baseline-tests.

Docker Hub leverer værktøjet inspectDockerImage, hvorigennem en leverandør selv kan certificere billederne og plugins (normalt udgiver leverandøren eller bidragyderen deres plugins til logning af mængder og netværk).

Bemærk –

For at udgive vores billede som docker-certificeret, skal vi først certificere og teste vores billeder og plugin selv gennem inspectDockerImage værktøj, når vi har certificeret og testet med succes, vil Docker Hub efter indsendelse certificere det. Hvis vores indhold kræver et ikke-certificeret miljø, kan det under ingen omstændigheder offentliggøres som certificeret.

Der er mange kuraterede og optimerede billeder er tilgængelige på Docker Hub.

Populariteten af ​​disse billeder afhænger af forskellige faktorer såsom træk, markedstilstedeværelse, vurderinger, tilfredshedsscore osv. For en detaljeret liste over de mest populære depoter, lad os navigere til Docker Hub internet side. Brug af et billede afhænger også af OS og dets arkitektur. Hvis vi ved, at de pulled images vil blive brugt til hvilket OS og dets arkitektur, så skal vi overveje nedenstående nøglefaktorer, før vi trækker et billede.

  • Se efter en specifik version ved hjælp af tags (for det meste den nyeste).
  • Vælg den, der har maksimale downloads og stjerner.
  • Se efter dens opdateringer (hvornår den sidst er blevet opdateret).
  • Hvis det er muligt, skal du kontrollere dens type, om det er den verificerede udgiver en eller en officiel (Docker Certified) en.

Webhooks

En webhook er et web-callback, der fungerer med begivenheder, og det er en måde, hvorpå en applikation kan levere realtidsinformation til en anden applikation. I dag har næsten alle applikationer en webhook-facilitet, så Docker Hub har også denne funktion.

Det er en HTTP push API udløst af brugerudpegede hændelser. Vi kan bruge en webhook i docker til at underrette en applikation eller tjeneste, der bruger de pågældende billeder. Generelt konfigurerer vi webhooks med docker som en pipeline af hændelser, sådan at enhver upload af nye billeder vil udløse testapplikationer til at køre understregningstestcases.

Når testresultatet er vellykket, vil det udløse en anden hændelse, som vil være containerimplementering, og når implementeringen er gennemført med succes, vil den udløse andre hændelser for at logge de ændringer, der er foretaget indtil nu.

Konklusion

Jeg tror, ​​at du nu har en rimelig forståelse af Docker Hub, og hvordan du kan søge, oprette og skubbe billeder. Husk, når du skubber offentlige billeder, vil de være synlige for alle.

Hvis ikke allerede, så tjek denne Docker installationsvejledning.