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.
-
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 psYou 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