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
app
service running PHP 8 FPM. - A
db
service running MySQL. - An
nginx
service that uses theapp
service to parse PHP code before serving the application to the final user.
-
Set the MySQL environment variables creating a
.env
file based on the.env.example
file. -
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:8000
to 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