Alt du bør vite om Docker Hub

La oss finne ut om Docker Hub.

I dag, i denne opplæringen, vil vi lære om Docker Hub, inkludert hvordan du bruker den, hvordan du lager vårt eget bilde, og hvordan det hjelper med å publisere og trekke bilder til og fra Docker Hub. Og vi vil også bruke litt tid på å utforske noen av de populære depotene på Docker Hub.

Forutsetninger

Du trenger en grunnleggende forståelse av Docker, kjent med Windows og Linux-miljøer. Denne opplæringen vil bruke Docker Desktop-verktøyet for å trene pågående trening, dvs. å bygge og sende et bilde til Docker Hub. Windows- og Mac-brukere kan laste ned og installere det fra herog Linux-brukere følger dette link.

Hva er Docker Hub?

Docker Hub er en depotregistertjeneste levert av Docker Inc.

Det lar oss trekke og skyve docker-bilder til og fra Docker Hub. Vi kan behandle dette som en GitHub, der vi henter og pusher kildekoden vår, men når det gjelder Docker Hub, laster vi ned eller publiserer containerbildene våre. Det er et skybasert online depot som lagrer begge typer depoter, dvs. pubic repository så vel som det private depotet. Offentlige depoter er tilgjengelige for alle, men det private er tilgjengelig for den berørte eieren av depotene; det er også en kostnad forbundet med det hvis vi lagrer mer enn et visst antall depoter som private.

Docker Hub-funksjoner

Docker Hub tilbyr følgende flere funksjoner.

#1. Bildelager

Det hjelper oss med å finne og trekke containerbilder fra Docker Hub.

Det hjelper oss også med å sende bilder som et offentlig eller privat depot til Docker Hub.

#2. Team og organisasjoner

Det lar oss opprette arbeidsgrupper og skyve depotene som en privat, som kun er tilgjengelig for bruk i vår organisasjon. På denne måten har vi administrert tilgang til våre private depoter av containerbilder.

#3. GitHub og Bitbucket-integrasjon

Det tillater integrasjon med kildekodelagre som GitHub og BitBucket.

#4. Automatiserte bygg

Hvis en endring i kildekoden har blitt presset til kildekodelagre, oppdager og bygger den automatisk containerbilder fra GitHub eller BitBucket og skyver dem til Docker Hub.

  Slik bruker du Google Translate direkte i Google Sheets

#5. Webhooks

Når vi har presset bildene våre vellykket, ved hjelp av en webhook, utløser det en handling for å integrere Docker Hub med andre tjenester.

#6. Offisielle bilder og utgiverbilder

Høykvalitetsbildene levert av havnearbeidere regnes som offisielle bilder, og de kan trekkes og brukes. På samme måte er bilder av høy kvalitet levert av eksterne leverandører utgiverbilder, også kalt sertifiserte bilder, som gir støtte og kompatibilitetsgaranti med Docker enterprise. Vi vil diskutere flere sertifiserte bilder senere i denne artikkelen.

Opprette første depot

Dette trinnet krever pålogging til Docker Hub ved å bruke påloggingsinformasjonen din. Hvis du ikke har en konto, kan du allerede opprette ved å klikke på Registrer deg-knappen som er tilgjengelig på nettsiden. Når du har logget på, kan du opprette depotet ved å klikke på Opprett depot på velkomstsiden.

  • Når du har klikket på Opprett depot, vil det be om et navn, gi et navn til depotet ditt.

  • Velg et synlighetsalternativ fra offentlig eller privat.

Vi kan også integrere kildekodelagrene våre som GitHub og BitBucket gjennom byggeinnstillinger, men det er valgfritt og kan også gjøres på et senere tidspunkt.

  • Når alt er gjort, klikk på Opprett.

Gratulerer! Du har opprettet dine første depoter, som vil se ut som følger.

Docker Hub gir oss bare ett privat depot gratis. Selv om vi trenger flere private depoter, kan vi oppgradere kontoen vår til en betalt plan.

Åpne nå Docker Desktop-verktøyet/terminalen, lastet ned og installert ovenfor, og logg på Docker Hub ved å bruke en kommando.

docker login

Utforsker bildene

Det er to måter å søke i offentlige depoter og bilder fra Docker Hub, det vil si at vi enten kan søke i det fra Docker Hub-nettstedet, eller vi kan bruke kommandolinjeverktøyet og kjøre kommandoen nedenfor. Tenk på at vi ønsker å søke i MySQL-depotbildet.

docker search mysql

Laster ned et bilde

Vi kan laste ned et bilde fra Docker Hub-kommandoen ved å bruke pull-kommandoen som følger

# docker pull mysql

Hvis vi allerede har mysql-bilde på maskinen vår, vil kommandoen ovenfor automatisk oppdatere bildet til den nyeste versjonen. En ting å huske på her er at hvis vi legger merke til vår docker-søkekommandoutgang, er det mange bilder av MySQL på Docker Hub, og det er fordi hvem som helst kan skyve et bilde. Men det avhenger av oss, hvilken du skal bruke basert på vår brukssituasjon., og vi må oste den passende.

  Gjør iPhone enklere å bruke med disse skjulte tilgjengelighetsfunksjonene

La oss si at vi vil trekke et bitnami/mysql-bilde.

# docker pull bitnami/mysql

Opprette et bilde

Denne prosessen krever en Dockerfile. Vi kan tenke på en Dockerfile som en bruksanvisning som forteller docker hva som skal monteres. Kort sagt, det er en konfigurasjonsfil som fortsetter å sette sammen instruksjoner, det vi forteller den skal montere.

Hvordan virker det?

Docker leser instruksjonene fra en Dockerfil og bygger bilder automatisk. Docker-bilde er et lagdelt filsystem, og det består av flere skrivebeskyttede lag, og hvert lag i et Docker-bilde representerer instruksjoner for en Dockerfil. La oss følge trinnene nedenfor for å lage et bilde ved hjelp av Dockerfile.

Lag en Dockerfile, som spesifiserer applikasjonskonfigurasjonen vår.

# sudo vim Dockerfile

Merk – Navnet på filen skal være Dockerfile med stor «D».

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

La oss ta en titt på noen av de viktige nøkkelordene som brukes i Dockerfile

  • Vi kan bruke # symboler for å legge til en kommentar i en Dockerfile
  • Nøkkelordet «FROM» definerer basisbildet som skal brukes.
  • «VEDLIKEHOLDER” nøkkelord er personen som skal opprettholde det bildet.
  • Nøkkelordet «RUN» brukes til å kjøre instruksjonene gitt for bildet. I vårt tilfelle må du først oppdatere systemet og deretter installere MySQL.
  • Nøkkelordet «CMD» brukes til å utføre en kommando når beholderen har blitt lansert.
  • Nøkkelordet «COPY» kan brukes til å kopiere en fil fra vårt vertsoperativsystem til docker-beholderen.
  • Nøkkelordet «EXPOSE» brukes til å spesifisere portnummeret som beholderen skal kjøre prosessen til.

Kjør kommandoen nedenfor for å bygge Docker-bildet vårt

Syntaks:

docker build -t /repo-navn .

# docker build -t asadali08537/first-repo .

I kommandoen ovenfor er navnet på bildet og «.» spesifiserer gjeldende arbeidskatalog. Dette er en indikasjon for at Docker skal se etter gjeldende katalog for docker-filen. «-t» brukes til å merke bildet. Vi kan se utgang som ligner på:

La oss nå teste bildet vårt ved å kjøre det gjennom run-kommandoen til docker.

docker run asadali08527/first-repo

Utførelse av kommandoen ovenfor vil be Docker-bildet om å installere MySQL på maskinen din med alle nødvendige oppdateringer, og til slutt vil den også vise ekkomelding.

Skyver et bilde

Når bildet vårt har blitt opprettet og det kjører, kan vi sende det til Docker Hub gjennom push-kommando.

docker push asadali08527/first-repo

Vi kan sjekke bildeetikettene og statusen på Docker Hub, som vil se omtrent slik ut.

  Hvordan lage en lang kolonne til flere kolonner i Excel

Hva er Docker-sertifiserte bilder?

Dette er de offisielle bildene presset av enten leverandører eller bidragsytere. Et bilde kan bare sertifiseres av Docker Hub hvis innholdet er i samsvar med regler, standarder og lover gitt av Docker Hub. Kort sagt, det bildet må bestå visse grunnlinjetester.

Docker Hub tilbyr inspectDockerImage-verktøyet, der en leverandør selv kan sertifisere bildene og pluginene (vanligvis publiserer leverandøren eller bidragsyteren sine plugins for logging av volumer og nettverk).

Merk –

For å publisere bildet vårt som docker-sertifisert, må vi først sertifisere og teste bildene og pluginene våre selv gjennom inspectDockerImage Når vi har sertifisert og testet vellykket, vil Docker Hub sertifisere det ved innsending. Hvis innholdet vårt krever et ikke-sertifisert miljø, kan det ikke publiseres som sertifisert under noen omstendigheter.

Det er mange kuraterte og optimaliserte bilder er tilgjengelige på Docker Hub.

Populariteten til disse bildene avhenger av ulike faktorer som trekk, markedstilstedeværelse, rangeringer, tilfredshetsscore osv. For en detaljert liste over de mest populære depotene, la oss navigere til Docker Hub nettsted. Bruk av et bilde avhenger også av OS og dets arkitektur. Hvis vi vet at de trukket bildene vil bli brukt for hvilket OS og dets arkitektur, må vi vurdere nøkkelfaktorene nedenfor før vi trekker et bilde.

  • Se etter en spesifikk versjon ved å bruke tagger (for det meste den nyeste).
  • Velg den som har maksimalt antall nedlastinger og stjerner.
  • Se etter oppdateringer (når den sist ble oppdatert).
  • Hvis mulig, sjekk typen, enten den verifiserte utgiveren eller offisielle (Docker Certified) en.

Webhooks

En webhook er en web-callback som fungerer med hendelser, og det er en måte for en applikasjon å gi sanntidsinformasjon til en annen applikasjon. I dag har nesten hver applikasjon en webhook-funksjon, og derfor har Docker Hub også denne funksjonen.

Det er en HTTP push API utløst av brukerutpekte hendelser. Vi kan bruke en webhook i docker for å varsle en applikasjon eller tjeneste som bruker de aktuelle bildene. Vanligvis konfigurerer vi webhooks med docker som en pipeline av hendelser, slik at enhver opplasting av nye bilder vil utløse testapplikasjoner for å kjøre understrekingstestsakene.

Når testresultatet er vellykket, vil det utløse en annen hendelse, som vil være containerdistribusjon, og når distribusjonen er fullført, vil den utløse andre hendelser for å logge endringene som er gjort så langt.

Konklusjon

Jeg tror at du nå har en god forståelse av Docker Hub og hvordan du kan søke, lage og pushe bilder. Husk at når du skyver offentlige bilder, vil de være synlige for alle.

Hvis ikke allerede, sjekk ut denne Docker-installasjonsveiledningen.