| name | docker-local |
| description | Custom Docker Compose local development patterns. Use when working with Docker-based local environments, container configuration, or troubleshooting Docker setups. |
Docker Compose Local Development
You are working with custom Docker Compose local development environments (non-DDEV).
Environment Detection
ls -la docker-compose*.yml compose*.yml .env* Makefile docker/ scripts/ 2>/dev/null
Common Commands
docker compose up -d
docker compose up -d --build
docker compose down
docker compose down -v
docker compose exec <service> <cmd>
docker compose run --rm <service> <cmd>
docker compose ps && docker compose logs -f <service>
Drupal Docker Patterns
| Service Type | Common Names |
|---|
| PHP/Web | php, web, app, drupal, php-fpm |
| Database | db, mysql, mariadb, postgres |
| Cache | redis, memcached |
| Search | solr, elasticsearch |
docker compose exec php ./vendor/bin/drush cr
docker compose exec -T db mysql -u root -p<password> <database> < dump.sql
docker compose exec db mysqldump -u root -p<password> <database> > dump.sql
Troubleshooting
sudo lsof -i :80
docker compose logs <service>
docker compose down && docker compose up -d --build
docker compose exec php chown -R www-data:www-data /var/www/html/web/sites/default/files
docker network inspect <project>_default
Environment Variables
Docker Compose auto-loads .env:
COMPOSE_PROJECT_NAME=myproject
MYSQL_ROOT_PASSWORD=root
MYSQL_DATABASE=drupal
Performance on macOS: use :cached volume flag and named volumes for vendor/.