‫OKE.
‫Dit ben ik bezig met opdracht 2. Ik heb hier drie vensters open staan.
‫Ik heb aan mijn linkerkant waar ik de docker-commando's kan uitvoeren. Je kunt in deze map zien dat het dezelfde
‫map is waarmee je begint. De readme die me vertelt hoe ik er doorheen moet komen.
‫Dan het Dockerfile dat leeg is en een Docker-compositiebestand dat leeg is.
‫Aan mijn rechterkant heb ik Vim geopend zodat ik mijn bestanden kan zien die ik bovenaan moet bewerken. Dan heb ik hieronder de
‫instructies.
‫Eerst moet ik me concentreren op de Dockerfile.
‫Er staat dat ik een vanaf drupal 8 moet doen. 2. Dan moet ik een run doen om Git te installeren. Apt update krijgen.
‫bijwerken.
‫Trouwens, de install -y... de -y daar
‫betekent automatisch ja zeggen.
‫En op die manier gaat het automatisch... het zal niet vragen om Git te installeren.
‫En dit spreekt over een goede opruiming.
‫Dus elke keer dat u apt-get gebruikt, maakt apt-get in feite een cache wanneer u de apt-get-update uitvoert.
‫Dus we willen die cache echt verwijderen omdat het minstens 10 MB is dat onze afbeelding in beslag
‫neemt die we niet nodig hebben.
‫In dit geval kan ik de backslash gebruiken, wat betekent dat de volgende regel in deze opdracht moet worden opgenomen. En dan de &&
‫symbolen... of
‫ampersand ampersands... vertellen me dat als het eerste commando slaagt, dit dan ook moet doen.
‫En eigenlijk hebben we er hier een.
‫Dus dat is eigenlijk het derde commando dat ik ga doen. Verwijder deze specifieke bestanden.
‫Dat is een vrij algemene. Je ziet dit in heel veel afbeeldingen.
‫Ik voeg het gewoon toe aan al mijn afbeeldingen om ze schoon te houden.
‫Het is niet echt een vereiste om het te laten functioneren.
‫Het is er gewoon om het schoon te houden.
‫We moeten dus de werkmap voor onze sjabloon of onze thema's wijzigen.
‫Dan moeten we een kloon doen.
‫Ik ga ervoor en... kopieer dat en plak het.
‫Als je een Git-persoon bent, zie je misschien dat deze bekend zijn. Git trekt duidelijk onze... is deze specifieke Git-repository
‫aan het klonen die een sjabloon is. Het gebruikt een specifieke tak. Het gebruikt deze twee
‫variabelen, deze twee opties hier, die ik
‫heb ingevoerd om het te vertellen dat het alleen de laatste kopie moet downloaden en alleen die specifieke tak. Het scheelt je in principe een hele hoop tijd.
‫Het bespaart u zelfs minuten bij het downloaden van Git-repositories. Als je alleen de absoluut laatste
‫commit nodig hebt, en alle bestanden erin, en je hebt alleen een
‫bepaalde branch nodig, wat waarschijnlijk alles is wat je nodig hebt als je een image gaat implementeren.
‫Want als we dat zouden veranderen, zouden we gewoon een nieuw imago bouwen. Rechts?
‫Dus dat is een goede tip.
‫In het geval dat je Git veel gebruikt voor het bouwen van afbeeldingen, het bespaart
‫je veel tijd en ruimte, echt omdat je niet de hele geschiedenis van de repository daarin nodig hebt. Je hebt alleen de laatste commit nodig.
‫OKE.
‫Dan is het probleem hier dat deze bestanden... dit is een veelvoorkomend probleem in Docker... dat
‫alle commando's die je hier uitvoert, allemaal als root zullen worden uitgevoerd.
‫Dus deze bestanden zijn zojuist gedownload en als root in die map geplaatst.
‫Maar het probleem is dat de Apache-webserver verwacht dat die bestanden de www-gegevensgebruiker zijn.
‫Dus ik moet de machtigingen daarna wijzigen om het goed te laten werken.
‫U hoeft deze commando's niet te kennen.
‫Maar dit is een veel voorkomende getoonde, wat staat voor eigenaar veranderen. En -r betekent alle bestanden,
‫inclusief submappen en subbestanden, voor deze gebruiker en deze groep.
‫We beperken het tot alleen de map die we hebben gemaakt.
‫Bespaar ons een paar microseconden. Ik moet dan mijn werkdirectory terug wijzigen voor het
‫geval de toepassing verwacht in de werkdirectory te staan waarin deze is gestart.
‫Ik hoef geen andere op te geven, zoals een cmd of iets anders, omdat die
‫al zijn opgegeven in de afbeelding van...
‫het Drupal-beeld waar ik aan trek. Oke. Denk dat ik daar klaar ben.
‫Laten we naar het Compose-bestand gaan.
‫Als u uw bestand eerder had bewaard, zou het er ongeveer zo uit kunnen zien. Rechts?
‫Het heeft de services, en dan
‫de Drupal met de afbeeldingsnaam drupal, en dan de volumes, en dan de postgres, en de omgevingsvariabele voor het wachtwoord.
‫En dan definiëren we de volumes.
‫Wat we moeten doen
‫om dit in deze situatie te laten werken, volgens onze instructies, moeten we de afbeelding hernoemen.
‫Elke keer dat er
‫in een opstelbestand een afbeeldingssleutel en een bouwsleutel is, verandert het doel van de afbeeldingssleutel.
‫In plaats
‫van dat we het zeggen, 'hey, ik wil dat je de officiële Drupal-afbeelding downloadt', zeggen we, als we eenmaal de build
‫hebben toegevoegd, zeggen we, 'hey, ik wil bouwen vanaf een specifieke locatie op mijn lokale machine en dan wil ik de afbeelding die u bouwt deze afbeeldingsnaam noemen. ' Nu hoef ik de naam van de afbeelding niet echt op
‫te geven.
‫Ik zou de afbeeldingsregel helemaal kunnen verwijderen en het
‫zou in feite een automatisch benoemde naam creëren op basis van de Compose-naamgeving, die je waarschijnlijk hebt opgemerkt. Telkens wanneer u Compose gebruikt, noemt het alles om vriendelijk te zijn
‫voor dat specifieke project.
‫Maar we gaan door en zetten het hier hard in.
‫Merk op dat ik een punt plaats voor build.
‫Dat is slechts een snelkoppeling, een
‫afkorting voor gewoon zeggen: 'hey, bouw gewoon deze map in en gebruik het Docker-bestand dat de standaardnaam is. ' Ik geef het geen bouwopties.
‫Ik vertel het niet een aangepast buildbestand of aangepaste locatie.
‫Ik vertel het gewoon op de eenvoudigste manier, en zo hebben we het gebouwd.
‫Oke. Dat is klaar.
‫Dat zou een aangepaste afbeelding moeten bouwen op basis van mijn Dockerfile. Dan hier beneden
‫in postgres, moet ik echt een boekdeel plaatsen.
‫We willen dat het onze gegevens bewaart.
‫De reden dat we de gegevens willen behouden,
‫is dat als je dit test, en je maakt een docker-compositie, het de database daadwerkelijk zal verwijderen en dan zullen we niet...
‫wanneer we het weer aanzetten, bevat het de gegevens niet. We willen er dus zeker van zijn dat we de gegevens behouden
‫tijdens het opnieuw opstarten van Compose.
‫Als we nu een docker opstellen, nadat we dit datavolume daar hebben, zal het dat datavolume niet echt verwijderen,
‫tenzij we een -v aan het einde doen, wat het zegt, 'hey, ik wil ook verwijderen de volumes. 'Ik
‫denk dat dat klopt.
‫Drupal-gegevens var lib postgres SQL-gegevens.
‫Oke.
‫Dan moet ik dat hier ook neerzetten.
‫Gegevens.
‫Oke.
‫Ik denk dat we klaar zijn.
‫Mijn bestanden opslaan.
‫Eens kijken of we een havenarbeider kunnen bedenken. OK, laten we eens kijken in onze browser localhost 8080.
‫Oke.
‫Als
‫dit allemaal werkt, kan ik deze
‫installatie doorlopen zoals we eerder deden en postgres postgres mypasswd postgres.
‫Opslaan en doorgaan. Ik ga deze keer een beetje snel omdat ik denk dat je het al eerder hebt gedaan.
‫Ik ga de site heel snel configureren.
‫OKE.
‫We
‫zijn op de site en de instructies vertellen ons dat we naar het tabblad Uiterlijk moeten gaan en zien dat we de Bartik-standaard gebruiken.
‫We hadden dit gedeïnstalleerde thema hier dat
‫niet zou hebben bestaan als we het niet met onze afbeelding hadden geïnstalleerd.
‫Ik kan op installeren klikken en als standaard instellen.
‫Klik dan terug naar de site.
‫Ik heb een totaal nieuw
‫thema op mijn site met behulp van het bootstrap-framework van Twitter, een behoorlijk populair sjabloonsysteem voor CSS en
‫websites.
‫Alles werkt dus zoals het hoort.
‫Als ik
‫terugga en dit stopzet, het afbreek, en dan een down deed, worden de afbeeldingen verwijderd.
‫Maar onthoud dat het de gegevens niet zal verwijderen.
‫Als ik weer een docker
‫zou samenstellen, dan zouden al die configuratiebestanden in de Drupal-modules en profielen, en sites, en thema's, en dan zouden de
‫gegevens die daadwerkelijk in de database staan er allemaal nog moeten zijn.
‫Ik zou op verversen moeten kunnen drukken en het werkt nog steeds.
‫Het mooie van deze manier
‫is dat je je afbeeldingen en je containers relatief schoon kunt houden.
‫Op die manier
‫zou je, wanneer je tussen projecten wisselt, technisch van dat spul af kunnen komen en het gewoon met rust laten... de volumes... alleen de volumes... verwijder de gegevens daarin niet. Laat de volumes gewoon met rust en verwijder hun
‫gegevens niet.
‫Als je dan terugkomt bij
‫het project, heb je alle voorbeeldgegevens al binnen en begin je niet helemaal opnieuw.
‫Oke. Dat is het.