A minimal, production-ready Docker setup to run MySQL 8 and Adminer locally — with no port conflicts, large file upload support, and full compatibility with existing Laravel projects.
| Service | Image | Port |
|---|---|---|
| MySQL 8 | mysql:8.0 |
3307 (avoids conflict with Laravel Herd) |
| Adminer | adminer |
8080 |
# 1. Clone the repo
git clone https://github.com/sumaiazaman/db-adminer.git
cd db-adminer
# 2. Start containers
docker compose up -d
# 3. Open Adminer
open http://localhost:8080| Field | Value |
|---|---|
| System | MySQL |
| Server | db |
| Username | company_user |
| Password | user@pass! |
| Database | company_db |
Update your .env file:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3307
DB_DATABASE=company_db
DB_USERNAME=company_user
DB_PASSWORD=user@pass!Then clear Laravel config cache:
php artisan config:clear
php artisan cache:cleardb-adminer/
├── docker-compose.yml # MySQL + Adminer services
└── php-config/
└── uploads.ini # PHP upload limits (512M)
Docker MySQL is mapped to 3307 — set DB_PORT=3307 in your .env.
Already handled via php-config/uploads.ini:
upload_max_filesize = 512M
post_max_size = 512MAlready fixed in docker-compose.yml:
command: --default-authentication-plugin=mysql_native_passwordmysql:8.0 runs natively on ARM64 — no platform: linux/amd64 needed.
docker compose downMIT