透過Docker Compose、Nginx和MariaDB實現PHP應用程式的持續交付
透過Docker Compose、Nginx和MariaDB實現PHP應用程式的持續交付
概述:
隨著雲端運算和容器化技術的快速發展,越來越多的應用程式開始採用容器化來實現快速交付和部署。本文將介紹如何使用Docker Compose、Nginx和MariaDB來建立一個簡單的PHP應用程序,並實現持續交付的過程。同時,我們將給出具體的程式碼範例,幫助讀者更好地理解這個過程。
一、準備工作
- 安裝Docker和Docker Compose。
二、建立Docker Compose設定檔
建立一個名為docker-compose.yml的文件,並依照下面的範例內容填寫。
version: '3' services: web: build: context: . dockerfile: Dockerfile ports: - "80:80" depends_on: - db db: image: mariadb:latest environment: MYSQL_ROOT_PASSWORD: example
三、建立Nginx設定檔
建立一個名為nginx.conf的文件,並依照下面的範例內容填寫。
server { listen 80; server_name localhost; root /var/www/html; index index.php index.html; location / { try_files $uri $uri/ /index.php?$args; } location ~ .php$ { fastcgi_pass web:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }
四、建立PHP應用程式文件
在專案根目錄下建立一個名為index.php的文件,並依照下面的範例內容填寫。
<?php echo "Hello, World!"; ?>
五、建立Dockerfile
在專案根目錄下建立一個名為Dockerfile的文件,並依照下面的範例內容填寫。
FROM php:7.4-fpm WORKDIR /var/www/html COPY . /var/www/html RUN docker-php-ext-install mysqli pdo pdo_mysql CMD ["php-fpm"] EXPOSE 9000
六、建置和啟動容器
在專案根目錄下執行以下命令,建置和啟動容器。
docker-compose up -d
七、驗證執行結果
在瀏覽器中造訪 http://localhost ,如果看到"Hello, World!"字樣,則表示容器已經成功運作。
八、持續交付流程
當我們對應用程式進行更新時,需要按照以下步驟來實現持續交付。
- 修改程式碼檔案
在修改程式碼檔案之前,我們需要先停止目前執行的容器。
docker-compose down
然後,我們可以對index.php檔案進行修改,例如將"Hello, World!"改為"Hello, Docker!"。
- 重新建置並啟動容器
在專案根目錄下執行下列命令,重新建置並啟動容器。
docker-compose up -d --build
- 驗證執行結果
在瀏覽器中造訪 http://localhost ,如果看到"Hello, Docker!"字樣,則表示更新已成功部署。
結論:
透過使用Docker Compose、Nginx和MariaDB,我們可以快速建立一個PHP應用程序,並實現持續交付的過程。容器化技術的優點在於它能夠提供一致的開發、測試和生產環境,大大簡化了部署和維護的工作。同時,使用Nginx作為反向代理和負載平衡器,可以更好地管理請求流量。透過以上程式碼範例,讀者可以進一步了解如何使用這些工具來實現持續交付的流程。
以上是透過Docker Compose、Nginx和MariaDB實現PHP應用程式的持續交付的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

退出 Docker 容器的四種方法:容器終端中使用 Ctrl D 快捷鍵容器終端中輸入 exit 命令宿主機終端中使用 docker stop <container_name> 命令宿主機終端中使用 docker kill <container_name> 命令(強制退出)

可以通過以下步驟查詢 Docker 容器名稱:列出所有容器(docker ps)。篩選容器列表(使用 grep 命令)。獲取容器名稱(位於 "NAMES" 列中)。

PHP適合網頁開發和快速原型開發,Python適用於數據科學和機器學習。 1.PHP用於動態網頁開發,語法簡單,適合快速開發。 2.Python語法簡潔,適用於多領域,庫生態系統強大。

重啟 Docker 容器的方法:獲取容器 ID(docker ps);停止容器(docker stop <container_id>);啟動容器(docker start <container_id>);驗證重啟成功(docker ps)。其他方法:Docker Compose(docker-compose restart)或 Docker API(參考 Docker 文檔)。

Docker 中將文件拷貝到外部主機的方法:使用 docker cp 命令:執行 docker cp [選項] <容器路徑> <主機路徑>。使用數據卷:在主機上創建目錄,在創建容器時使用 -v 參數掛載該目錄到容器內,實現文件雙向同步。

PHP的核心優勢包括易於學習、強大的web開發支持、豐富的庫和框架、高性能和可擴展性、跨平台兼容性以及成本效益高。 1)易於學習和使用,適合初學者;2)與web服務器集成好,支持多種數據庫;3)擁有如Laravel等強大框架;4)通過優化可實現高性能;5)支持多種操作系統;6)開源,降低開發成本。

在 Docker 中啟動 MySQL 的過程包含以下步驟:拉取 MySQL 鏡像創建並啟動容器,設置根用戶密碼並映射端口驗證連接創建數據庫和用戶授予對數據庫的所有權限
