Voraussetzung
Docker Desktop (und docker-compose) müssen auf Deinem System schon installiert sein.
Wie gehts
starte Deine Kommandozeile und erzeuge ein Verzeichnis auf Deinem PC (in Deinem User Verzeichnis) und wechsle in dieses Verzeichnis:
mkdir Docker\phpMyAdmin
cd Docker\phpMyAdmin
Nun bearbeite eine Datei docker-compose.yml
und paste folgendes in diese Datei:
version : '3'
services:
mysql:
image: mysql:5.7
# or mysql:latest
container_name: dev_mysql
environment:
MYSQL_USER: user
MYSQL_PASSWORD: user
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: default_schema
restart: always
ports:
- '3306:3306'
volumes:
- my-db:/var/lib/mysql
phpmyadmin:
image: phpmyadmin/phpmyadmin
container_name: dev_pma
links:
- mysql
environment:
PMA_HOST: mysql
PMA_PORT: 3306
PMA_ARBITRARY: 1
restart: always
ports:
- 8183:80
mailhog:
image: mailhog/mailhog
container_name: dev_mailhog
ports:
- 1025:1025 # smtp server
- 8025:8025 # web ui
# Names our volume
volumes:
my-db:
Nun starte den Downloadprozess und auch gleich die images:
docker-compose up -d
Jetzt öffnest Du das Dashboard von Docker Desktop und klickst auf „Images“. Du siehst, dass drei images:
- mysql
- phpmyadmin/phpmyadmin
- mailhog/mailhog
geladen wurden. Alle drei sollten jetzt schon „in use“ sein.
Zugriff auf phpMyAdmin:
http://localhost:8183
- Server: mysql
- Username: root
- Password: password
Zugriff auf Mailhog
Einstellung im .env file in Deinem Laravel Projekt:
MAIL_MAILER=smtp
MAIL_HOST=localhost
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
Nun werden Deine Mails nicht „wirklich“ abgeschickt sondern schon vom Mailhog abgefangen. DU kannst alle neu abgeschickten Mails folgendermassen erreichen:
http://localhost:8025