MySQL, phpMyAdmin und Mailhog lokal auf Docker Desktop

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

Schreibe einen Kommentar