商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > Ubuntu PHP如何实现容器化部署

Ubuntu PHP如何实现容器化部署

  发布于2026-07-08 阅读(0)

扫一扫,手机访问

在Ubuntu上借助Docker把PHP应用容器化,整个过程其实并不复杂,只要理清几个关键步骤,你也能快速上手。下面就把这套流程拆开来聊聊。

Ubuntu PHP如何实现容器化部署

1. 安装Docker

先确认你的Ubuntu系统里有没有装好Docker。如果还没装,不用慌,直接敲下面两行命令就能搞定:

sudo apt update
sudo apt install docker.io

2. 创建Dockerfile

进入PHP项目根目录,新建一个名叫 Dockerfile 的文件——这个文件就是整个镜像的“配方”,决定了你的PHP环境长什么样。下面是一个比较典型的配置:

# 使用官方的PHP基础镜像
FROM php:7.4-fpm

# 安装必要的扩展
RUN apt-get update && apt-get install -y \
    libpng-dev libjpeg62-turbo-dev libpq-dev libzip-dev zip \
    && docker-php-ext-configure gd --with-freetype --with-jpeg \
    && docker-php-ext-install gd pdo_mysql zip opcache

# 设置工作目录
WORKDIR /var/www/html

# 复制项目文件到容器中
COPY . /var/www/html

# 安装Composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

# 设置权限
RUN chown -R www-data:www-data /var/www/html

# 暴露端口
EXPOSE 9000

# 启动PHP-FPM服务
CMD ["php-fpm"]

这里用到了PHP 7.4的FPM镜像,同时安装了GD、PDO_MySQL、ZIP等常用扩展,并且顺带把Composer也装上了。你可以根据项目实际需求增减扩展。

3. 构建Docker镜像

在项目根目录下运行下面这个命令,Docker就会按照刚才写的配方一步步构建出镜像:

docker build -t my-php-app .

镜像名(my-php-app)可以自己改,但记得后面启动容器时要用同一个名字。

4. 运行Docker容器

镜像构建完成后,直接启动一个容器:

docker run -d -p 9000:9000 --name my-php-container my-php-app

这个命令会把主机的9000端口映射到容器的9000端口,容器名就叫 my-php-container。启动后,PHP-FPM就在后台跑起来了。

5. 配置Nginx(可选)

如果你的应用需要处理HTTP请求,通常会在前面加一个Nginx反向袋里。下面是一步一步怎么配:

安装Nginx

sudo apt install nginx

配置Nginx

编辑默认站点配置文件(一般路径是 /etc/nginx/sites-a vailable/default),加入类似下面这样的内容:

server {
    listen 80;
    server_name your_domain_or_ip;
    root /var/www/html;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

注意这里 fastcgi_pass 指向的是主机上的PHP-FPM socket,如果你想用容器内的PHP-FPM,则需要改成 fastcgi_pass 127.0.0.1:9000;,并确保容器端口映射正确。

重启Nginx

sudo systemctl restart nginx

6. 验证部署

最后一步,打开浏览器,输入服务器的IP地址或域名,如果一切顺利,你的PHP应用应该已经正常显示了。整个流程走下来,你会发现Docker的容器化部署其实比想象中要清爽——环境隔离、依赖明确,迁移和扩展都方便得多。

本文转载于:https://www.yisu.com/ask/80920446.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注