

CMS Development
#02 - Docker & DDEV


Docker
Docker is een platform voor
- Containerisatie
- Applicaties in geïsoleerde omgevingen verpakken, bekend als containers.
- Overal uitvoeren waar Docker is geïnstalleerd, ongeacht het besturingssysteem of infrastructuur.
- Consistente en eenvoudige manier om applicaties te runnen.

Docker - Containers
Containers zijn lichtgewicht, geïsoleerde omgevingen waarin een applicatie met alle dependencies worden verpakt.
Dit omvat de runtime, bibliotheken, configuratiebestanden en uitvoerbare code.
Containers kunnen snel worden opgestart en gestopt, waardoor ze efficiënt kunnen worden geschaald en beheerd.
Docker - Containers
Containers zijn lichtgewicht, geïsoleerde omgevingen waarin een applicatie met alle dependencies worden verpakt.
Dit omvat de runtime, bibliotheken, configuratiebestanden en uitvoerbare code.
Containers kunnen snel worden opgestart en gestopt, waardoor ze efficiënt kunnen worden geschaald en beheerd.

Docker - Images
Docker Images zijn sjablonen die worden gebruikt om containers te maken.
Een image bevat alle benodigde informatie en bestanden om een container te starten.
Images zijn meestal gebaseerd op een basisimage, zoals een minimalistische Linux-distributie, en kunnen worden aangepast om specifieke applicaties te ondersteunen.

Docker - Hub
Docker Hub is een openbare repository waar gebruikers Docker-images kunnen delen en hergebruiken.
Het biedt duizenden officiële en door de gemeenschap ondersteunde images voor verschillende toepassingen en technologieën.

Docker - Hub
Docker Hub is een openbare repository waar gebruikers Docker-images kunnen delen en hergebruiken.
Het biedt duizenden officiële en door de gemeenschap ondersteunde images voor verschillende toepassingen en technologieën.

Voorbeeld
Een image voor Drupal met Apache (webserver) kan bijvoorbeeld de directory structuur met alle WordPress-bestanden bevatten, plus de Apache-binary, configuratiebestanden en PHP. De (SQL) database die je ook voor Drupal nodig hebt zit niet in zo’n image: elke container voert precies één proces uit, wat in dit geval de Apache-webserver is. De database zal in een andere container draaien.
Portabiliteit
Containers zijn consistent en draagbaar, wat betekent dat een container die op een ontwikkelaarslaptop wordt gebouwd, op dezelfde manier kan worden uitgevoerd in een productieomgeving.
Dit elimineert veel problemen die kunnen optreden bij het verplaatsen van applicaties tussen verschillende omgevingen.


ddev

ddev
DDEV is een open-source ontwikkelingstool die is ontworpen om het gemakkelijker te maken om webapplicaties en websites lokaal te ontwikkelen.
Het staat voor "Docker Development Environment" en maakt gebruik van Docker-containerisatie om ontwikkelaars te helpen bij het opzetten en beheren van geïsoleerde ontwikkelingsomgevingen voor hun (php projecten.
ddev
-
Relatief eenvoudig te installeren en configureren op verschillende besturingssystemen, waaronder Windows, macOS en Linux.
-
Lokale ontwikkelingsomgevingen opzetten die zo veel mogelijk lijken op productieomgevingen.
-
Dit helpt bij het minimaliseren van compatibiliteitsproblemen die zich kunnen voordoen tussen ontwikkeling en productie.
Ondersteuning meerdere CMS'en
-
DDEV ondersteunt een breed scala aan content management systemen (CMS'en) en webtechnologieën, waaronder WordPress, Drupal, Joomla, ...
-
Ontwikkelaars kunnen DDEV gebruiken voor het ontwikkelen van websites en applicaties op basis van deze platforms.
Via de CLI
-
Gebruiksvriendelijke command-line interface waarmee ontwikkelaars snel taken zoals ...
-
maken van databasess
-
importeren van gegevens
-
beheren van containers
-
-
Configuraties aanpassen aan de behoeften van specifieke projecten, waardoor er meer flexibiliteit is
Get started!

Commands
-
ddev config
configures a project’s type and docroot. -
ddev start
starts up a project. -
ddev launch
opens a web browser showing the project. -
ddev list
shows current projects and their state. -
ddev describe
gives all the info about the current project. -
ddev ssh
takes you into the web container. -
ddev exec <command>
executes a command inside the web container. -
ddev stop
stops a project and removes its memory usage (but does not throw away any data). -
ddev poweroff
stops all resources that DDEV is using and stops the Mutagen daemon if it’s running. -
ddev delete
destroys the database and DDEV’s knowledge of the project without touching your code. -
ddev get
adds an add-on service.
https://ddev.readthedocs.io/en/latest/users/usage/cli/
CMS Development - 02 - Docker & DDEV
By Lecturer GDM
CMS Development - 02 - Docker & DDEV
- 223