Home >Backend Development >PHP Tutorial >Dockerizing a Simple PHP Application
Containerization is a game-changer for developers seeking consistency and portability across different environments. In this blog post, we'll walk through a practical example of Dockerizing a simple PHP application. By the end of this guide, you'll have a working Docker container serving a basic PHP app.
We'll containerize a basic PHP application using Docker. Here’s the PHP code we'll use:
<?php // index.php echo "Hello Docker!"; ?>
The Dockerfile we’ll create will build an image using PHP 8.2 and serve this PHP application on port 8000.
Start by creating a new folder for your project. For this example, let’s name it php-docker-app. Inside this folder, add two files:
Here’s the content of the Dockerfile:
# Use the official PHP image FROM php:8.2-cli # Set the working directory WORKDIR /usr/src/app # Copy the PHP file into the container COPY index.php . # Expose port 80 (optional for CLI-based serving, not necessary in this example) EXPOSE 80 # Command to run the PHP server on port 8000 CMD ["php", "-S", "0.0.0.0:8000", "index.php"]
Open a terminal and navigate to the folder containing your Dockerfile and index.php. Run the following command to build your Docker image:
docker build -t php-helloworld .
This command does the following:
After successfully building the image, run a container from it using the command:
docker run -p 8000:8000 php-helloworld
Here’s what happens:
Open a browser or use a tool like curl to navigate to:
http://127.0.0.1:8000/
You should see the following output:
<?php // index.php echo "Hello Docker!"; ?>
This guide demonstrated the basics of Dockerizing a simple PHP app. To take it further:
With just a few steps, you’ve successfully Dockerized a PHP application. This approach is perfect for creating isolated, reproducible development environments. Try it out for more complex projects and see how Docker streamlines your workflow!
The above is the detailed content of Dockerizing a Simple PHP Application. For more information, please follow other related articles on the PHP Chinese website!