Cloud Native 4 min read

How to Create and Run a PHP Container with Docker

This tutorial explains what a PHP container is, why containers are useful for modern DevOps, and provides step‑by‑step instructions—including Dockerfile creation, image building, and container execution—to package a PHP 7.4 application with Nginx using Docker.

php Courses
php Courses
php Courses
How to Create and Run a PHP Container with Docker

PHP containers are virtual environments that isolate PHP applications, allowing them to run securely and independently; they are typically built from container images that bundle code and configuration, and managed by tools such as Docker, Kubernetes, or LXC.

Docker is the most popular container manager for PHP, offering a simple and flexible way to create, deploy, and maintain containers.

Step 1: Create a Dockerfile – The Dockerfile defines the image configuration, installing required extensions, copying Nginx configuration and application code, exposing port 80, and setting the startup command.

FROM php:7.4-fpm

# 安装PHP扩展
RUN docker-php-ext-install pdo_mysql

# 将Nginx配置文件复制到容器中
COPY nginx.conf /etc/nginx/nginx.conf

# 将应用程序代码复制到容器中
COPY app /var/www/html

# 暴露Nginx的HTTP端口
EXPOSE 80

# 启动Nginx和PHP-FPM服务
CMD service nginx start && php-fpm

Step 2: Build the container image – Run the Docker build command in the directory containing the Dockerfile. docker build -t my-php-container . Step 3: Run the container – Use the Docker run command to start the container in detached mode, mapping host port 8080 to container port 80. docker run -d -p 8080:80 my-php-container After the container starts, the PHP application can be accessed at http://localhost:8080, demonstrating how containers simplify deployment, scaling, and isolation compared to traditional servers.

Conclusion – Writing a PHP container with Docker is straightforward and provides better isolation, security, and DevOps compatibility, making it a recommended approach for modern PHP application development and deployment.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

DockerDevOpsContainerNginx
php Courses
Written by

php Courses

php中文网's platform for the latest courses and technical articles, helping PHP learners advance quickly.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.