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