当前位置: 首页> 最新文章列表> Docker 容器化部署 Yii 框架应用全攻略

Docker 容器化部署 Yii 框架应用全攻略

M66 2025-10-13

使用 Docker 容器化和部署 Yii 框架应用

前言

Docker 是一种轻量级的容器化平台,它可以将应用及其依赖环境一起打包,从而在不同环境中实现快速、稳定的部署。本文将为你讲解如何使用 Docker 容器化并部署 Yii 框架应用,让你的开发与上线流程更高效、更一致。

先决条件

  • Docker 版本 19.03 或更高
  • 已经搭建好的 Yii 框架应用
  • Composer 包管理器

创建 Dockerfile

首先,在项目的根目录下新建一个名为 Dockerfile 的文件,并写入以下内容:

FROM php:7.4-fpm

WORKDIR /var/www

COPY composer.json .
RUN composer install

COPY . .

EXPOSE 80
CMD ["php", "-S", "0.0.0.0:80"]

该文件定义了 PHP 环境的基础镜像,安装了项目依赖,并设置了容器的工作目录与启动命令。

构建 Docker 镜像

在终端中进入项目根目录,执行以下命令构建镜像:

<span class="fun">docker build -t yii-app .</span>

此命令会根据 Dockerfile 中的配置生成名为 yii-app 的镜像。

运行 Docker 容器

镜像构建完成后,可以通过以下命令运行容器:

<span class="fun">docker run -p 8080:80 yii-app</span>

运行后,你可以通过访问 http://localhost:8080 查看 Yii 应用是否正常启动。

部署到远程服务器

当应用本地测试完成后,就可以部署到远程服务器。首先,将构建好的镜像推送到 Docker Hub 或私有镜像仓库,然后在服务器上执行以下操作:

拉取镜像:

<span class="fun">docker pull <registry>/<namespace>/yii-app</span>

运行容器:

<span class="fun">docker run -p 80:80 <registry>/<namespace>/yii-app</span>

替换为你的镜像仓库地址与命名空间。

使用 Docker Compose 管理多个容器

如果你的 Yii 项目需要数据库、缓存等服务,可以使用 Docker Compose 来统一管理多个容器。在项目根目录下创建一个 docker-compose.yml 文件,示例如下:

version: '3'

services:
  web:
    build: .
    ports:
      - "8080:80"
    volumes:
      - ./:/var/www

然后在终端运行以下命令启动应用:

<span class="fun">docker-compose up -d</span>

Docker Compose 会自动构建镜像并启动所需容器,使你的 Yii 应用与依赖服务能够协同运行。

总结

通过 Docker 对 Yii 框架应用进行容器化部署,不仅能简化环境配置,还能在开发、测试、生产环境中保持一致性。无论是单容器部署还是多容器编排,Docker 都为 Yii 项目的持续集成和交付提供了高效的解决方案。