docker-php
docker-php copied to clipboard
PHP 8 development environment with PHP-FPM, Nginx and MySQL, using Docker and Docker Compose.
PHP 8 development environment with PHP-FPM, Nginx and MySQL, using Docker and Docker Compose
You need to have Docker and Docker Compose installed on your server to proceed using this PHP environment.
The following three separate service containers will be used:
- An
appservice running PHP 8 FPM. - A
dbservice running MySQL. - An
nginxservice that uses theappservice to parse PHP code before serving the application to the final user.
Running the environment
-
Set the MySQL environment variables creating a
.envfile based on the.env.examplefile. -
Build the app image with the following command:
docker-compose build app
- When the build is finished, you can run the environment in background mode with:
docker-compose up -d
- To show information about the state of your active services, run:
docker-compose ps
You can use the docker-compose exec command to execute commands in the service containers, such as an ls -l to show detailed information about files in the application directory:
docker-compose exec app ls -l
-
Now go to your browser and access your server’s domain name or IP address on port
8000:http://server_domain_or_IP:8000. In case you are running this demo on your local machine, usehttp://localhost:8000to access the application from your browser. -
You can use the logs command to check the logs generated by your services:
docker-compose logs nginx
- If you want to pause your Docker Compose environment while keeping the state of all its services, run:
docker-compose pause
- You can then resume your services with:
docker-compose unpause
- To shut down your Docker Compose environment and remove all of its containers, networks, and volumes, run:
docker-compose down