Docker 是一种轻量级的容器化平台,它可以将应用及其依赖环境一起打包,从而在不同环境中实现快速、稳定的部署。本文将为你讲解如何使用 Docker 容器化并部署 Yii 框架应用,让你的开发与上线流程更高效、更一致。
首先,在项目的根目录下新建一个名为 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 环境的基础镜像,安装了项目依赖,并设置了容器的工作目录与启动命令。
在终端中进入项目根目录,执行以下命令构建镜像:
<span class="fun">docker build -t yii-app .</span>
此命令会根据 Dockerfile 中的配置生成名为 yii-app 的镜像。
镜像构建完成后,可以通过以下命令运行容器:
<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>
将
如果你的 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 项目的持续集成和交付提供了高效的解决方案。