This must be the quickest way to get the LAMP stack up and running locally.
Nothing installed locally -> you can run different versions of PHP/MySQL without conflicts.
Database gets created on first startup and persisted in a named volume.
PHP files are in a mapped volume so you can edit without rebuilding the container.
The docker-compose.yml file:
version: "2"
services:
site:
image: php:5.6.27-apache
volumes:
- ./site:/var/www/html
depends_on:
- mysql
networks:
back-tier:
mysql:
image: mysql:5.5
environment:
MYSQL_ROOT_PASSWORD: topsecret
MYSQL_DATABASE: sitedbname
MYSQL_USER: sitedbuser
MYSQL_PASSWORD: sitedbpassword
volumes:
- site_db:/var/lib/mysql
networks:
back-tier:
networks:
back-tier:
volumes:
site_db:
Then just
docker-compose up
It takes a bit of the pain out of working on a legacy PHP site!