Skip to main content Skip to page footer

Docker und DDEV auf Windows

Docker, DDEV auf Windows mit WSL2

Heute installieren wir eine Web-Development-Umgebung auf einem Rechner mit WINDOWS 11. Das sind zwar ein paar Schritte, im Ergebnis haben wir jedoch eine komplette Umgebung, in der Webprojekte wie z. B. mit TYPO3, WordPress, Joomla oder Drupal lokal entwickelt werden können.

Diese Anleitung entspricht in großen Teilen der offiziellen DDEV-Dokumentation .

Vorneweg noch ein Hinweis: Wenn Du mit der Maus über die Codeblöcke fährst, erscheint jeweils oben rechts ein COPY. Wenn Du darauf klickst, wird der Inhalt des Codeblocks in die Zwischenablage kopiert, und Du brauchst nichts abzutippen.

Ohne weitere Vorrede legen wir direkt los:

Öffne im ersten Schritt eine Windows PowerShell mit Administrator-Rechten.

Chocolatey installieren

Set-ExecutionPolicy Bypass -Scope Process -Force;`
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072;`
iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

mkcert installieren

choco install -y mkcert
mkcert -install

Umgebungsvariablen setzen

setx CAROOT "$(mkcert -CAROOT)"; If ($Env:WSLENV -notlike "*CAROOT/up:*") { setx WSLENV "CAROOT/up:$Env:WSLENV" }

Enable WSL2

Enable-WindowsOptionalFeature -Online -FeatureName $("VirtualMachinePlatform", "Microsoft-Windows-Subsystem-Linux")

Windows neu starten

An dieser Stelle muss Windows neu gestartet werden.

Download und Installation des Linux Kernels

Von dieser Seite lädst Du das Linux Kernel Update Package herunter und führst es aus.

Ubuntu herunterladen und installieren

Öffne den Microsoft Store und suche nach Ubuntu.

Alternativ kannst Du auch direkt diesen Link nutzen:
https://www.microsoft.com/store/productId/9PDXGNCFSCZV

Nach dem Start musst Du einen Benutzernamen und ein Kennwort für die Linux-Umgebung vergeben. Beides muss nicht mit Deinen Windows-Einstellungen übereinstimmen. Bitte beachte, dass aus Sicherheitsgründen Dein Passwort bei der Eingabe nicht angezeigt wird.

Hier in der Linux-Umgebung führen wir auch direkt alle verfügbaren Updates aus.

sudo apt update && sudo apt upgrade -y

Docker Desktop installieren

Wieder in der PowerShell mit Administratorenrechten:

choco install -y docker-desktop

Nun kannst Du Docker über das Startmenü ausführen. Startet Docker nicht, in der Admin PowerShell

wsl --update

ausführen und Windows neu starten.

Docker Einstellungen

Die Docker-Einstellungen erreichst Du über das Zahnrad-Symbol oben rechts.  

Im Reiter General aktivierst Du den Punkt Use the WSL 2 based engine

Unter Resources → WSL Integration aktivierst Du die Punkte Enable integration und Enable integration with Ubuntu

Überprüfe $CAROOT in Ubuntu

In einem Linux Terminal überprüfst Du die Einstellungen mit diesem Kommando:

echo $CAROOT

Es sollte etwas in der Form /mnt/c/Users/<Dein Windows-Benutzername>/AppData/Local/mkcert ausgeben werden.

DDEV und xdg-utils installieren

Zuletzt installieren wir – ebenfalls in einem Linux-Terminal – DDEV und xdg-utils:

curl -fsSL raw.githubusercontent.com/drud/ddev/master/scripts/install_ddev.sh | bash
sudo apt-get update && sudo apt-get install -y libnss3-tools xdg-utils

Applaus! Damit hast Du alle Schritte abgeschlossen.

Testen mit einem Junk-Projekt

Um die Installation testen zu können, erstellen wir ein Test-Projekt.

Anmerkung: Alle Projekte werden in der Linux-Umgebung erstellt.

Erstelle einen Ordner und wechsel dort hinein:

mkdir junk && cd junk

Hier initialisieren wir das DDEV-Projekt

ddev config

Es werden eine Reihe von Configuratinseinstellungen abgefragt:

  • Project name (junk):
    hier kannst Du den vorgeschlagenen Projektnamen (junk) durch Drücken der Entertaste übernehmen.
  • Docroot Location (current directory):
    Auch dieses Voreinstellung kannst Du mit Return übernehmen.
  • Project Type […] (php):
    PHP ist klasse, das übernimmst Du auch per Return.

Nun wird das Projekt gestartet:

ddev start

Dabei werden einige Pakete heruntergeladen. Wenn Du das erste Projekt startest, dauert das ein wenig.

Zuletzt erstellen wir noch eine index.php:

echo "<?php phpinfo();" > index.php

Die Seite kann nun über https:\\junk.ddev.site\ aufgerufen werden.

Wenn die Seite mit den PHP-Informationen angezeigt wird, läuft alles wunschgemäß. 
Herzlichen Glückwunsch.

Kommentare

Keine Kommentare

Kommentar schreiben

* Diese Felder sind erforderlich