Alles wat u moet weten over Docker Hub

Laten we eens kijken naar Docker Hub.

Vandaag leren we in deze zelfstudie over Docker Hub, inclusief hoe het te gebruiken, hoe we onze eigen afbeelding kunnen maken en hoe het helpt bij het publiceren en ophalen van afbeeldingen van en naar Docker-hub. En we zullen ook wat tijd besteden aan het verkennen van enkele van de populaire repositories op Docker Hub.

Vereisten

Je hebt een basiskennis van Docker nodig, bekend met de Windows- en Linux-omgeving. In deze zelfstudie wordt de Docker Desktop-tool gebruikt om doorlopende oefeningen te oefenen, dwz om een ​​afbeelding te bouwen en naar Docker Hub te pushen. Windows- en Mac-gebruikers kunnen het downloaden en installeren vanaf hieren Linux-gebruikers volgen dit koppeling.

Wat is Docker Hub?

Docker Hub is een repository-registratieservice die wordt aangeboden door: Docker Inc.

Hiermee kunnen we docker-afbeeldingen van en naar Docker Hub trekken en pushen. We kunnen dit behandelen als een GitHub, waar we onze broncode ophalen en pushen, maar in het geval van Docker Hub downloaden of publiceren we onze containerafbeeldingen. Het is een op de cloud gebaseerde online repository die beide soorten repositories opslaat, dwz de openbare repository en de private repository. Openbare repositories zijn voor iedereen toegankelijk, maar de private is toegankelijk voor de betrokken eigenaar van de repositories; er zijn ook kosten aan verbonden als we meer dan een bepaald aantal repositories privé opslaan.

Docker Hub-functies

Docker Hub biedt de volgende verschillende functies.

#1. Beeldopslagplaatsen

Het helpt ons bij het vinden en ophalen van containerafbeeldingen van Docker Hub.

Het helpt ons ook bij het pushen van afbeeldingen als een openbare of privérepository naar de Docker Hub.

#2. Team en organisaties

Het stelt ons in staat werkgroepen te creëren en de repositories als een privé te pushen, die alleen beschikbaar is voor gebruik binnen onze organisatie. Op deze manier hebben we de toegang tot onze privérepository’s met containerafbeeldingen beheerd.

#3. GitHub- en Bitbucket-integratie

Het maakt integratie met broncodebronnen zoals GitHub en BitBucket mogelijk.

#4. Geautomatiseerde builds

Als een wijziging in de broncode naar de opslagplaatsen voor broncode is gepusht, detecteert en bouwt het automatisch container-images van GitHub of BitBucket en worden deze naar Docker Hub gepusht.

#5. Webhooks

Zodra we onze afbeeldingen met succes hebben gepusht, met behulp van een webhook, wordt een actie gestart om Docker Hub met andere services te integreren.

  Wat is een periscooplens voor smartphonecamera's?

#6. Officiële afbeeldingen en afbeeldingen van uitgevers

De afbeeldingen van hoge kwaliteit die door havenarbeiders worden geleverd, worden als officiële afbeeldingen beschouwd en kunnen worden opgehaald en gebruikt. Evenzo zijn afbeeldingen van hoge kwaliteit die door externe leveranciers worden geleverd, afbeeldingen van uitgevers, ook wel gecertificeerde afbeeldingen genoemd, die ondersteuning en compatibiliteitsgarantie bieden met Docker enterprise. We zullen later in dit artikel meer gecertificeerde afbeeldingen bespreken.

Eerste opslagplaats maken

Voor deze stap moet u inloggen op de Docker-hub met uw inloggegevens. Als u nog geen account heeft, kunt u deze al aanmaken door op de knop Aanmelden op de webpagina te klikken. Nadat u bent ingelogd, kunt u de repository maken door op de welkomstpagina op Create Repository te klikken.

  • Eenmaal geklikt op Create Repository, zal het om een ​​naam vragen, geef een naam aan uw repository.

  • Selecteer een zichtbaarheidsoptie uit openbaar of privé.

We kunnen ook onze broncode-opslagplaatsen zoals GitHub en BitBucket integreren via de build-instelling, maar dit is optioneel en kan ook in een later stadium worden gedaan.

  • Als alles klaar is, klik je op Aanmaken.

Gefeliciteerd! Je hebt je eerste repositories aangemaakt, die er als volgt uit zullen zien.

Docker Hub geeft ons slechts één gratis privérepository. Hoewel, als we meer privérepositories nodig hebben, we ons account kunnen upgraden naar een betaald abonnement.

Open nu de Docker Desktop-tool / terminal, hierboven gedownload en geïnstalleerd en meld u aan bij Docker Hub met behulp van een opdracht.

docker login

De afbeeldingen verkennen

Er zijn twee manieren om openbare opslagplaatsen en afbeeldingen van Docker Hub te doorzoeken, dat wil zeggen, we kunnen het zoeken vanaf de Docker Hub-website, of we kunnen het opdrachtregelprogramma gebruiken en de onderstaande opdracht uitvoeren. Overweeg dat we de afbeelding van de MySQL-repository willen doorzoeken.

docker search mysql

Een afbeelding downloaden

We kunnen als volgt een afbeelding downloaden van de Docker Hub-opdracht met behulp van de pull-opdracht:

# docker pull mysql

Als we al een mysql-afbeelding op onze machine hebben, zal de bovenstaande opdracht de afbeelding automatisch bijwerken naar de nieuwste versie. Een ding om in gedachten te houden is dat als we onze docker-zoekopdrachtuitvoer opmerken, er veel afbeeldingen van MySQL op Docker Hub zijn, en dat komt omdat iedereen een afbeelding kan pushen. Maar het hangt van ons af welke we moeten gebruiken op basis van onze use-case, en we moeten de juiste kaas maken.

Laten we zeggen dat we een bitnami/mysql-afbeelding willen ophalen.

# docker pull bitnami/mysql

Een afbeelding maken

Dit proces vereist een Dockerfile. We kunnen een Dockerfile zien als een handleiding die docker vertelt wat hij moet monteren. Kortom, het is een configuratiebestand dat de instructies blijft samenstellen, wat we het vertellen om te monteren.

Hoe werkt het?

Docker leest de instructie uit een Dockerfile en bouwt automatisch afbeeldingen. Docker-image is een gelaagd bestandssysteem en bestaat uit meerdere alleen-lezen lagen, en elke laag van een Docker-image vertegenwoordigt instructies van een Dockerfile. Laten we de onderstaande stappen volgen om een ​​afbeelding te maken met Dockerfile.

  Augmented Reality (AR) versus Virtual Reality (VR): de verschillen

Maak een Dockerfile, die onze applicatieconfiguratie specificeert.

# sudo vim Dockerfile

Opmerking – De naam van het bestand moet Dockerfile zijn met een hoofdletter “D”.

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

Laten we eens kijken naar enkele van de belangrijke trefwoorden die in Dockerfile worden gebruikt

  • We kunnen # symbolen gebruiken om een ​​opmerking toe te voegen in een Dockerfile
  • Het sleutelwoord “FROM” definieert de te gebruiken basisafbeelding.
  • De “ONDERHOUDER’trefwoord is de persoon die dat imago gaat behouden.
  • Het sleutelwoord “RUN” wordt gebruikt om de instructie voor de afbeelding uit te voeren. Werk in ons geval eerst het systeem bij en installeer vervolgens MySQL.
  • Het sleutelwoord “CMD” wordt gebruikt om een ​​opdracht uit te voeren zodra de container is gestart.
  • Het sleutelwoord “COPY” kan worden gebruikt om een ​​bestand van ons host-besturingssysteem naar de docker-container te kopiëren.
  • Het sleutelwoord “EXPOSE” wordt gebruikt om het poortnummer op te geven waarnaar de container zijn proces zal uitvoeren.

Voer de onderstaande opdracht uit om onze Docker-afbeelding te bouwen

Syntaxis:

docker build -t /repo-name .

# docker build -t asadali08537/first-repo .

In de bovenstaande opdracht is de naam van de afbeelding en “.” specificeert de huidige werkdirectory. Dit is een indicatie voor Docker om te zoeken naar de huidige map van het docker-bestand. “-t” wordt gebruikt om de afbeelding te taggen. We kunnen uitvoer zien die lijkt op:

Laten we nu onze afbeelding testen door deze door de opdracht run van docker te laten lopen.

docker run asadali08527/first-repo

Als u de bovenstaande opdracht uitvoert, wordt uw Docker-image gevraagd om MySQL op uw computer te installeren met alle benodigde updates, en ten slotte zal het ook een echo-bericht weergeven.

Een afbeelding pushen

Zodra onze afbeelding met succes is gemaakt en actief is, kunnen we deze via de push-opdracht naar Docker Hub pushen.

docker push asadali08527/first-repo

We kunnen de afbeeldingstags en -status controleren op Docker Hub, die er ongeveer zo uit zal zien.

Wat zijn Docker-gecertificeerde afbeeldingen?

Dit zijn de officiële afbeeldingen die door leveranciers of bijdragers zijn gepusht. Een image kan alleen worden gecertificeerd door Docker Hub als de inhoud voldoet aan de regels, normen en wetten die door Docker Hub worden verstrekt. Kortom, dat beeld moet bepaalde basislijntests doorstaan.

Docker Hub biedt de tool inspectDockerImage, waarmee een leverancier de afbeeldingen en plug-ins zelf kan certificeren (meestal publiceert een leverancier of bijdrager zijn plug-ins voor het loggen van volumes en netwerken).

Opmerking –

Om onze afbeelding als docker-gecertificeerd te publiceren, moeten we eerst onze afbeeldingen en plug-in zelf certificeren en testen via de inspecteer DockerImage tool, zodra we deze met succes hebben gecertificeerd en getest, zal Docker Hub deze na indiening certificeren. Als onze inhoud een niet-gecertificeerde omgeving vereist, kan deze onder geen enkele omstandigheid als gecertificeerd worden gepubliceerd.

  Hoe de Cinnamon Desktop aan te passen?

Er zijn veel samengestelde en geoptimaliseerde afbeeldingen beschikbaar op Docker Hub.

De populariteit van deze afbeeldingen hangt af van verschillende factoren, zoals aantrekkingskracht, aanwezigheid op de markt, beoordelingen, tevredenheidsscores, enz. Laten we voor een gedetailleerde lijst van de meest populaire repositories naar de Docker-hub website. Het gebruik van een afbeelding hangt ook af van het besturingssysteem en de architectuur ervan. Als we weten dat de opgehaalde afbeeldingen zullen worden gebruikt voor welk besturingssysteem en de bijbehorende architectuur, moeten we rekening houden met onderstaande belangrijke factoren voordat we een afbeelding ophalen.

  • Zoek naar een specifieke versie met behulp van tags (meestal de nieuwste).
  • Kies degene die maximale downloads en sterren heeft.
  • Controleer op updates (wanneer deze voor het laatst is bijgewerkt).
  • Controleer indien mogelijk het type, of het nu een geverifieerde uitgever is of een officiële (Docker Certified)-uitgever.

Webhooks

Een webhook is een webcallback die werkt met gebeurtenissen, en het is een manier voor een applicatie om realtime informatie te verstrekken aan een andere applicatie. Tegenwoordig biedt bijna elke applicatie een webhook-faciliteit, en dus heeft Docker Hub deze functie ook.

Het is een HTTP-push-API die wordt geactiveerd door door de gebruiker aangewezen gebeurtenissen. We kunnen een webhook in docker gebruiken om een ​​applicatie of service die de betreffende afbeeldingen gebruikt op de hoogte te stellen. Over het algemeen configureren we webhooks met docker als een pijplijn van gebeurtenissen, zodat elke upload van nieuwe afbeeldingen testtoepassingen activeert om de onderstreepte testgevallen uit te voeren.

Zodra het testresultaat succesvol is, wordt een andere gebeurtenis geactiveerd, namelijk containerimplementatie, en zodra de implementatie met succes is voltooid, worden andere gebeurtenissen geactiveerd om de tot dusver doorgevoerde wijzigingen vast te leggen.

Conclusie

Ik geloof dat je nu een goed begrip hebt van Docker Hub en hoe je afbeeldingen kunt zoeken, maken en pushen. Houd er rekening mee dat wanneer u openbare afbeeldingen pusht, deze voor iedereen zichtbaar zijn.

Als dat nog niet het geval is, bekijk dan deze Docker-installatiegids.

gerelateerde berichten