‫Nu gaan we het eigenlijke register starten. We praten er al een tijdje over,
‫dus laten we er ook echt iets mee gaan doen.
‫Het register is eigenlijk gewoon een HTTPS-server zoals we hebben besproken.
‫Het draait standaard op poort 5000.
‫Wat we gaan doen, is dat we het gaan starten en dan gaan we een bestaande afbeelding die we hebben, die
‫we daadwerkelijk van Docker Hub hebben gekregen, opnieuw taggen. Dat is hoe je daadwerkelijk verandert waar het register, welk
‫register eerder zal worden gebruikt, je daadwerkelijk bestaande afbeeldingen opnieuw gaat taggen. Dan gaan we die afbeelding uit
‫onze lokale cache verwijderen en we gaan hem uit het register
‫halen nadat we hem daar naar boven hebben gepusht. Dan gaan we echt stoppen en het register opnieuw maken om te laten zien
‫hoe u de opslag kunt wijzigen.
‫In ons geval gaan we gewoon lokale
‫opslag gebruiken, maar er zijn veel opslagopties waar we het over zullen hebben. Ik wil heel snel een notitie maken over
‫het register en hoe het de voorkeur geeft aan TLS. Standaard zal Docker met geen enkel register
‫praten, tenzij het over de juiste HTTPS-beveiliging beschikt.
‫Rechts?
‫Het wil ervoor zorgen dat uw authenticatie is gecodeerd en dat al het andere dat wordt doorgegeven,
‫wordt vertrouwd.
‫We noemen dit dus standaard beveiligd.
‫Rechts? Dat heb je vast al eens gehoord. Het zal eigenlijk niet praten met het register
‫dat we gaan maken, tenzij we het maken op de lokale hosts, wat we zijn.
‫Dat is hoe we het gaan doen, het draait gewoon op onze lokale host.
‫Dus dat is makkelijk.
‫We hoeven ons eigenlijk geen zorgen te maken over TLS om dit ding uit de doos te testen,
‫omdat, zoals bij de meeste websites, het register niet wordt geleverd met ingebouwde TLS.
‫Meestal moet u uw eigen certificaat maken.
‫Maar als u zelfondertekende certificaten voor uw register gaat gebruiken of misschien op afstand gaat uitvoeren zonder
‫TLS, wat ik u niet
‫aanmoedig om te doen, maar voor het geval dat nodig is, is er eigenlijk een onveilige-
‫registeroptie die u in de engine zou moeten inschakelen.
‫Dat gaan we hier niet behandelen.
‫Maar om te weten dat in productie, als je ooit een zelfondertekend certificaat moet doen,
‫je dat gewoon moet inschakelen. Je krijgt een goede foutmelding terug van Docker, het zal zeggen: "Ik kan niet met dit register
‫praten omdat ik het niet vertrouw. "Zoiets,
‫als je dat probeert.
‫Vandaag gaan we het gewoon uitvoeren met gewone HTTP op poort 5000.
‫Terug naar mijn lokale machine en voer een docker-container uit -d -p 5000, en het is standaard
‫5000 in de
‫container, en ik noem het gewoon registry. Dan gebruiken we een image-register.
‫Als ik een docker-container ls doe, zul je zien dat deze draait. Om het te gebruiken, gebruiken
‫we eigenlijk tags.
‫Als je het je herinnert met onze afbeeldingen met Docker Hub, moesten we ze in het formaat van accountnaam en repositorynaam
‫zetten, maar dat is voor Docker Hub. Voor elk ander register
‫moeten we het ook labelen met de host daarin.
‫Ik ga eigenlijk iets trekken dat hello-world heet, omdat het lekker klein is. Wanneer we het uitvoeren, spuugt het gewoon wat
‫tekst uit die in feite valideert dat die container liep,
‫perfect voor dit leuke kleine voorbeeld. Wat ik moet doen om het naar mijn lokale register te pushen, is dat ik het een andere
‫tag moet geven die mijn daemon vertelt waar hij het naartoe moet sturen.
‫We gebruiken de docker-tag en vervolgens de afbeelding die ik moet taggen en vervolgens waar ik deze naartoe wil taggen.
‫Dus 127. 0. 0. 1:5000, ik
‫moet de poort erin zetten
‫en dan hallo wereld.
‫Dit zou het equivalent zijn van het maken van mijn eigen officiële afbeelding in de root van mijn lokale register.
‫Als ik een docker-afbeelding ls doe, zie je dat de hallo-wereld hier twee tags heeft en het is dezelfde afbeeldings-ID, omdat ik er alleen maar een andere
‫tag aan heb gegeven.
‫Maar als ik dan een docker-push doe, zal het niet echt naar Docker Hub pushen, het zal zien dat daar een
‫IP en poort is en naar mijn lokale register pushen.
‫Laten we nu onze lokale kopieën verwijderen, dus docker-afbeelding verwijderen en docker-afbeelding.
‫OKE.
‫Oh. Rechts.
‫We kunnen de afbeelding niet verwijderen omdat we eerst die container moeten verwijderen.
‫Dus docker container rm, en dat is de container die hello-world draaide, nu
‫kan ik de afbeelding verwijderen.
‫Daar gaan we.
‫Oké, dus als ik nu een docker-image ls, weet ik zeker dat ik die niet heb, toch? Ik heb dat beeld niet.
‫Nu kan ik een docker pull doen vanaf diezelfde locatie.
‫Daar gaan we.
‫Ik trek dat beeld naar beneden.
‫Als u om uw eigen redenen uw eigen register gaat gebruiken, is het eerste dat
‫u wilt doen een volume gebruiken om de gegevens op te slaan.
‫In dit geval kunnen we het register verwijderen en een volume gebruiken om hetzelfde te doen.
‫Als ik in deze map was waar ik registry-sample-1 ben, zou ik een docker container kill registry,
‫docker container rm registry
‫kunnen doen.
‫Oke.
‫Dus we hebben onze registercontainer opgeschoond. Laten we het weer docker container run d port
‫5000 maken, noem het opnieuw registry. Deze keer gaan we het een volume geven, en we
‫gaan de pwd-truc gebruiken om onze huidige
‫werkdirectory te geven, en dan ga ik hier een subdirectory plaatsen met registergegevens. Dat moet naar het var lib-register gaan.
‫Het laatste deel is dat we de registerafbeelding gebruiken.
‫Dit is technisch gezien een nieuw register met een nieuwe database.
‫Als je de registergegevens zou hebben ingevuld, zou er nog niets zijn, maar als ik de afbeelding zou nemen die we een tijdje geleden
‫hebben gemaakt en hem weer naar beneden zou halen, zul je zien dat we
‫de hallo-wereld er nog steeds hebben.
‫Als ik nog een keer een Docker Push doe, moet hij hem daar weer naar boven duwen.
‫Als ik nu een ll en de directory met registergegevens doe, zie je daar wat informatie. Ik heb zojuist een tree-opdracht uitgevoerd die mogelijk niet op uw besturingssysteem staat, maar die
‫u niet echt
‫hoeft uit te voeren als u dat niet wilt. Het is een veelgebruikte Linux-tool die me
‫alle verschillende paden hier laat zien. Je zult zien dat het de dingen
‫in feite opsplitst in de gegevens, of blobs, de eigenlijke binaire bestanden die zich in de afbeelding bevinden, dan de
‫metadata eromheen, wat het manifest is, en de tags en dergelijke. Alles staat in hun eigen SHA-mappen omdat je
‫hier meerdere lagen hebt.
‫Het is niet echt handig voor ons om daar rond te graven, maar het is interessant om te zien.
‫Daar ga je dan.
‫Dat is de basis van het uitvoeren van een register op uw lokale computer.
‫Vervolgens moeten we het beveiligen met wat TLS en vervolgens authenticatie inschakelen.
‫Oke. Dat is de basis van het runnen van een Docker-register.
‫Dit zijn de belangrijkste opdrachten die we in deze lezing hebben uitgevoerd. Misschien wil je hier even pauzeren als je iets
‫wilt opschrijven of ervoor wilt zorgen dat die van jou correct zijn.
‫Nu je klaar bent met deze lezing, vergeet dan niet om op te ruimen, zodat je met een nieuwe lei aan
‫de volgende lezing kunt beginnen.