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:latest environment: MYSQL_DATABASE: lamp_demo MYSQL_USER: lamp_demo MYSQL_PASSWORD: password MYSQL_ALLOW_EMPTY_PASSWORD: 1 volumes: - "./db:/docker-entrypoint-initdb.d" networks: - lamp-docker www: depends_on: - db image: php:8.1.1-apache volumes: - "./:/var/www/html" ports: - 80:80 - 443:443 networks: - lamp-docker command: "/bin/sh -c 'docker-php-ext-install mysqli && exec apache2-foreground'" phpmyadmin: depends_on: - db image: phpmyadmin/phpmyadmin ports: - 8001:80 environment: - PMA_HOST=db - PMA_PORT=3306 networks: - lamp-docker networks: lamp-docker: driver: bridge
Using a terminal, navigate to the same folder as your docker-compose.yml
file and run the following command:
docker-compose up
To shut the container down push CTRL C
and then run the folloeing command:
docker-composer down
Note
The most recent PHP/Apache Docker image does not include the mysqli
library. This additional step needs to be completed:
docker-library/php#391