A basic example of setting up a LAMP stack from scratch using Docker.
Create a file in your project directory called docker-compose.yml and add the following Docker settings:
version: '3'services:
db:
image: mysql:latestenvironment:
MYSQL_DATABASE: lamp_demoMYSQL_USER: lamp_demoMYSQL_PASSWORD: passwordMYSQL_ALLOW_EMPTY_PASSWORD: 1volumes:
- "./db:/docker-entrypoint-initdb.d"networks:
- lamp-dockerwww:
depends_on:
- dbimage: php:8.1.1-apachevolumes:
- "./:/var/www/html"ports:
- 80:80
- 443:443networks:
- lamp-dockercommand: "/bin/sh -c 'docker-php-ext-install mysqli && exec apache2-foreground'"phpmyadmin:
depends_on:
- dbimage: phpmyadmin/phpmyadminports:
- 8001:80environment:
- PMA_HOST=db
- PMA_PORT=3306networks:
- lamp-dockernetworks:
lamp-docker:
driver: bridgeUsing a terminal, navigate to the same folder as your docker-compose.yml file and run the following command:
docker-compose upTo shut the container down push CTRL C and then run the folloeing command:
docker-composer downNote
The most recent PHP/Apache Docker image does not include the mysqli library. This additional step needs to be completed:
docker-library/php#391
