‫Oke. Voor deze opdracht wil ik dat je de acties doorloopt om een volledig nieuw samengesteld bestand te maken.
‫Dit is een heel normaal, alledaags, eenvoudig opstelbestand. Het is een oefening die je veel zult doormaken
‫bij het bouwen aan applicaties waaraan je moet werken, testen of ontwikkelen.
‫Naarmate je gewend raakt aan Compose, zul je het eigenlijk een beetje lokaal prefereren. Het is gewoon zo gemakkelijk te gebruiken en
‫het maakt de docker-commando's zo veel gemakkelijker te onthouden
‫in dat samengestelde bestand.
‫Hier ga je eigenlijk een eenvoudige Drupal-site voor contentbeheer bouwen.
‫Als je niet bekend bent met Drupal, het is een open source content management
‫server, die eigenlijk gewoon een websitebouwer is. Je hoeft niet veel te weten over Drupal, maar het
‫is een goed voorbeeld van een volledig functionele web-app, en er moet een database achter draaien.
‫Je zult de Drupal-afbeeldingen en de postgres-afbeelding op Docker Hub moeten opzoeken en een beetje
‫door hun documentatie moeten lezen.
‫Natuurlijk raad ik aan om de officiële afbeeldingen te gebruiken, en er zijn nog wat andere dingen. Je zult de poorten
‫in het opstelbestand willen gebruiken om Drupal daadwerkelijk bloot te leggen.
‫Ik raad aan om het gewoon op 8080 te doen. Je kunt het echt op elke poort doen die je wilt, maar laten we gewoon
‫8080 kiezen voor deze opdracht.
‫Je gaat eindigen met twee diensten. Ik raad versie 2 helemaal bovenaan je bestand aan. Je hebt
‫die twee services eronder. Een voor Drupal, een voor postgres. U kunt
‫de diensten noemen zoals u wilt. Binnen de postgres-service moet je ervoor zorgen dat je er een wachtwoord voor instelt.
‫En de manier waarop Drupal werkt, is dat als je eenmaal bent begonnen met docker compose-up, je daadwerkelijk je browser
‫opent en door de installatie loopt. Drupal heeft een mooie, webgebaseerde opzet. Het zal je wat vragen
‫stellen.
‫Een tip is dat de manier waarop deze containers in samengestelde bestanden werken, is dat het de servicenaam gebruikt
‫als de DNS-naam voor de ene container om met de andere te praten.
‫Terwijl u het instelt, is een van de opties die u onder geavanceerd ziet,
‫waar de databaseserver zich bevindt. Het is standaard localhost, en dat gaat niet
‫werken, want dat zou betekenen dat je je database en je webserver in dezelfde container zou moeten hebben.
‫En dat is niet echt een best practice voor Docker.
‫In dat geval moet je de localhost veranderen in wat je de Drupal-service noemt.
‫Dan zal de Drupal-webserver daadwerkelijk via het Docker-netwerk met de databaseserver praten.
‫Als je een beetje extra krediet wilt, is er een
‫optie die je ziet in de Drupal-documentatie op Docker Hub, over het gebruik van volumes om de unieke gegevens op
‫te slaan, zoals de sjabloongegevens, en de uploads, en de add-ons voor Drupal die modules worden genoemd,
‫zul je daar wat documentatie over zien. Ik raad je aan om daarmee te experimenteren en te kijken of je het
‫werkend kunt krijgen in het opstelbestand.
‫Nadat je ermee begonnen bent, ga je de volumes opsommen om te zien of je ze daar kunt zien en
‫of ze er correct uitzien.
‫Dit zou een vrij kort samengesteld bestand moeten zijn, waarschijnlijk ongeveer 10 regels.
‫Mocht je vast komen te zitten, geen zorgen natuurlijk. Bij de volgende lezing zal ik dezelfde oefening doormaken die jij
‫nu gaat doormaken.
‫Dus veel succes en plezier.