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 項目的持續集成和交付提供了高效的解決方案。