Jeroen Heuvelman | May 17, 2023

webdevelopment met Docker

Voorkennis

  • Benodigde webservices met de benodigde configuratie mogelijkheden
  • Configuraties maken tekst-files

Dit ga je leren

Ontwikkelomgeving met verschillende services in Docker opzetten voor webontwikkeling

laptop-services

Resultaat

  • Een ontwikkelomgeving opgezet met docker voor het maken van webapplicaties.
  • De ontwikkelomgeving bevat de volgende docker containers (Apache, Mariadb en PHPMyAdmin)

Docker installeren

Download en installeer Docker voor jouw operating system. (windows / mac / linux).
docker

Docker omgeving configureren

  • Maak een lege projectmap aan op je systeem.
  • Maak in deze projectmap een nieuwe lege map aan met de naam htdocs
  • Maak de volgende lege bestanden aan in je projectmap:
  • Dockerfile
  • Docker-compose.yml

Je mappenstructuur dient er als volgt uit te zien:

- newproject
- htdocs
Dockerfile
Docker-compose.yml

Plaatst onderstaande code in het bestand Dockerfile

FROM php:8.2-apache
RUN apt-get update && docker-php-ext-install pdo_mysql
RUN cp /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/

Plaatst onderstaande code in het bestand Docker-compose.yml

version: "3.9"
services:
# apache webserver
apache:
build:
context: .
dockerfile: Dockerfile
volumes:
# map volumes
- ./htdocs:/var/www/html
ports:
- 80:80
networks:
- phpLocalNetwork
# mariadb server
mariadb:
image: mariadb
environment:
# database en root password
MYSQL_ROOT_PASSWORD: a3b6c9
MYSQL_DATABASE: testdatabase
ports:
- 3306:3306
networks:
- phpLocalNetwork
# phpmyadmin
phpmyadmin:
image: phpmyadmin/phpmyadmin
links:
- mariadb:db
ports:
- 8080:80
networks:
- phpLocalNetwork
networks:
phpLocalNetwork:

Docker omgeving starten

Wanneer je bovenstaande uitgevoerd hebt is je docker omgeving geconfigureerd. Je kunt hem nu als volgt starten:

  • Start een terminal en zorg ervoor dat je in de map van je nieuw aangemaakte project zit.
  • Voer het volgende commando uit
docker compose up

De drie geconfigureerde containers worden nu opgestart. Je code dien je te plaatsen in de htdocs map.

De webserver-container is via de volgende url te bereiken:

http://localhost

De PHPMyAdmin container is via de volgende url te bereiken:

http://localhost:8080

Gebruikersnaam en wachtwoord voor je database kun je vinden in het bestand Docker-compose.yml

Op te leveren
  • Startende Apache-webserver met actieve PHP-module d.m.v Docker-container te starten
  • Werkende Apache webserver om het mogelijk te maken om PHP-code uit te voeren
  • Met de Internet-browser door de publicatie-folder browsen en PHP-scripts starten d.m.v. klikken
  • Werkende MySQL- of MariaDB-server die verschillende databases met daarin tabellen en data beschikbaar te stellen
  • Eenvoudige toegang tot de databases d.m.v. PhpMyAdmin