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!