‫Voor deze opdracht laat ik je je eigen afbeelding bouwen vanuit een Dockerfile.
‫Je gaat in principe regel voor regel in een Dockerfile gaan en uitzoeken hoe je het zelf
‫correct kunt laten werken.
‫Dit is een van mijn favoriete dingen om te doen in Docker.
‫Ik ben er een beetje nerdy in. Ik word een beetje opgepompt omdat het maken van een nieuw Docker-bestand
‫van een bestaande app voor mij voelt alsof het de app eigenlijk beter maakt. Omdat ik dol ben op de uitdaging om
‫iets te maken dat voorheen complex was, of inconsistent in het proces, en voorspelbaar en geautomatiseerd te worden.
‫Dat is echt waar een Dockerfile om draait.
‫Een veel voorkomende oefening voor een Docker-beheerder is om aangepaste afbeeldingen te maken en anderen te helpen Docker-bestanden te maken
‫voor hun eigen broncode.
‫Vaak moet je de officiële afbeeldingen bekijken en weet je misschien niet zoveel over de app of
‫zelfs de taal of pakketten die het gebruikt, maar je moet het nog steeds 'Dockeriseren'.
‫Dat wil zeggen dat je een Dockerfile maakt voor een bestaande app of service en dat je deze
‫goed laat werken in een container.
‫Maar dat proces betekent dat je moet gaan zoeken naar overeenkomende officiële afbeeldingen of een die misschien niet officieel
‫is, maar het komt in de
‫buurt van wat je nodig hebt als je kunt krijgen. En het onderzoeken van die image-repository en de Dockerfiles erin, om te
‫begrijpen hoe het is gebouwd en hoe je er vervolgens op kunt bouwen, met behulp van het from-commando.
‫Je moet de kunst leren om die bestaande afbeelding samen te voegen met je bouwinstructies om uiteindelijk een
‫volledig werkende afbeelding te krijgen.
‫In deze gaan we een bestaande Node nemen. js-app en Dockerize het.
‫Nogmaals, je hoeft niet echt iets te weten over Node. js anders dan te zeggen dat dit een
‫web-app is, en ik ga je wat informatie geven, en je zult er een Dockerfile van
‫moeten maken.
‫Echt, het overzicht hier is dat je een Dockerfile gaat maken en je gaat
‫proberen het te bouwen. Dan ga je proberen het te testen in een container. Als je dat eenmaal hebt gedaan en het werkt,
‫kun je het naar Docker Hub duwen. Dan gaan we het lokaal verwijderen. Dan gaan
‫we het nog een keer doen. Verwacht echt, vooral dit bouw- en testgedeelte, dat het iteratief is.
‫Het komt zelden voor dat ik een Dockerfile bij de eerste opname correct krijg.
‫Dan zal ik proberen het te bouwen en krijg ik een build-fout. Dan zal ik het blijven veranderen en het dan opnieuw bouwen
‫totdat ik dat aan het werk heb en klaar ben. Dan probeer ik een test in een
‫container en het lukt niet altijd de eerste keer. Dus ik zal opnieuw in Dockerfile moeten gaan veranderen, het opnieuw moeten opbouwen en
‫er dan een andere container van moeten maken.
‫Dus verwacht dat proces en je zult heel veel leren door dat alleen te doen.
‫Voor deze opdracht bevindt het eigenlijke bestand waarmee je gaat beginnen zich in
‫de Dockerfile-map voor opdracht 1, in de hoofdmap van onze repository die je hebt gedownload
‫van GitHub, dezelfde waarmee we hebben gewerkt. En houd er rekening mee dat we een officiële afbeelding gaan gebruiken, wat
‫betekent dat er veel goede documentatie zal zijn over het gebruik ervan. En dat is inclusief de Dockerfile voor de
‫officiële afbeelding.
‫Als je je herinnert dat ik Alpine noemde als een heel kleine Linux-distributie, zou ik
‫graag willen dat je dat hier gebruikt. Je gaat een specifieke versie van Node gebruiken die ze op
‫Docker Hub zullen vermelden, namelijk de 6. x-versie. U kunt elk van deze opties onder de 6-tak gebruiken. Het verwachte testresultaat is dat
‫je het daadwerkelijk lokaal in je webbrowser kunt openen, met behulp van de localhost.
‫Als je het eenmaal lokaal hebt laten werken, ga je het daadwerkelijk taggen met een eigen naam, zodat het je
‫Docker Hub-accountnaam gebruikt, en een nieuwe repo-naam die je zelf kunt maken. Je gaat het naar Docker
‫Hub pushen. Als je eenmaal naar Docker Hub bent gegaan en
‫hebt gecontroleerd of het er is en er correct uitziet, verwijder dan de lokale afbeelding uit je cache en we gaan de container
‫nog een laatste keer uitvoeren, zodat we daadwerkelijk opnieuw downloaden van Docker Hub en het vervolgens uitvoeren om er zeker van
‫te zijn dat alles is zoals verwacht. Net als bij andere opdrachten, als
‫je vastloopt, en het is oké als je dat doet, onthoud dan dat ik de volgende, volgende lezing eigenlijk zelf door deze
‫opdracht ga en hoe ik het zou kunnen doen. Net als bij andere opdrachten, zullen er verschillende
‫opties en manieren zijn om dit aan te pakken, want nogmaals, dit is geen exacte wetenschap.
‫Je Dockerfile ziet er misschien niet precies hetzelfde uit als mijn Dockerfile, maar als het correct en foutloos
‫wordt opgebouwd en je de website in een webbrowser laat werken met localhost, dan zou ik dat een
‫succes noemen.
‫Veel succes en tot de volgende lezing.