對於尋求跨不同環境的一致性和可移植性的開發人員來說,容器化是一個遊戲規則改變者。在這篇文章中,我們將介紹一個對簡單 PHP 應用程式進行 Docker 化的實際範例。在本指南結束時,您將擁有一個可運行的 Docker 容器,為基本的 PHP 應用程式提供服務。
概述
我們將使用 Docker 容器化一個基本的 PHP 應用程式。這是我們將要使用的 PHP 程式碼:
我們將建立的 Dockerfile 將使用 PHP 8.2 建立映像,並在連接埠 8000 上為該 PHP 應用程式提供服務。
逐步指南
第 1 步:建立應用程式資料夾
首先為您的專案建立一個新資料夾。對於此範例,我們將其命名為 php-docker-app。在此資料夾中,新增兩個檔案:
- index.php - 包含 PHP 應用程式程式碼。
- Dockerfile - 定義容器配置。
步驟2:編寫Dockerfile
這是 Dockerfile 的內容:
第 3 步:建置 Docker 映像
開啟終端機並導航到包含 Dockerfile 和 index.php 的資料夾。執行以下命令來建立 Docker 映像:
此指令執行以下操作:
- 使用 Dockerfile 建置映像。
- 使用名稱 php-helloworld 標記映像。
第 4 步:運行 Docker 容器
成功建構鏡像後,使用以下命令從中執行容器:
發生的事情是這樣的:
- -p 標誌將主機上的連接埠 8000 對應到容器中的連接埠 8000。
- Docker 運行 php-helloworld 映像並在連接埠 8000 上啟動 PHP 伺服器。
第 5 步:訪問您的應用程式
開啟瀏覽器或使用curl等工具導航至:
您應該看到以下輸出:
它是如何運作的
- 基礎鏡像:php:8.2-cli 基礎鏡像提供了一個即用型 PHP CLI 環境。
- 工作目錄:WORKDIR /usr/src/app 指令設定容器內的工作目錄。
- 檔案複製:複製index.php。命令將 PHP 腳本從主機複製到容器。
- 指令執行:CMD 指令啟動一個為 index.php 檔案提供服務的 PHP 伺服器。
Docker 化 PHP 應用程式的好處
- 一致性:您的應用程式在不同環境中的行為相同。
- 可移植性:應用程式可以在安裝了 Docker 的任何地方運行。
- 易於設定:無需在本機安裝 PHP 或設定伺服器。
下一步
本指南示範了 Docker 化簡單 PHP 應用程式的基礎知識。更進一步:
- 新增 Apache 或 Nginx 等 Web 伺服器來處理更複雜的場景。
- 建立 docker-compose.yml 檔案來管理多容器設定。
- 整合資料庫服務或其他依賴項。
結論
只需幾個步驟,您就成功地對 PHP 應用程式進行了 Docker 化。這種方法非常適合創建隔離的、可重複的開發環境。嘗試更複雜的項目,看看 Docker 如何簡化您的工作流程!
以上是Docker 化一個簡單的 PHP 應用程式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Laravel使用其直觀的閃存方法簡化了處理臨時會話數據。這非常適合在您的應用程序中顯示簡短的消息,警報或通知。 默認情況下,數據僅針對後續請求: $請求 -

PHP客戶端URL(curl)擴展是開發人員的強大工具,可以與遠程服務器和REST API無縫交互。通過利用Libcurl(備受尊敬的多協議文件傳輸庫),PHP curl促進了有效的執行

Laravel 提供简洁的 HTTP 响应模拟语法,简化了 HTTP 交互测试。这种方法显著减少了代码冗余,同时使您的测试模拟更直观。 基本实现提供了多种响应类型快捷方式: use Illuminate\Support\Facades\Http; Http::fake([ 'google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

Laravel的服務容器和服務提供商是其架構的基礎。 本文探討了服務容器,詳細信息服務提供商創建,註冊,並通過示例演示了實際用法。 我們將從OVE開始

您是否想為客戶最緊迫的問題提供實時的即時解決方案? 實時聊天使您可以與客戶進行實時對話,並立即解決他們的問題。它允許您為您的自定義提供更快的服務

PHP日誌記錄對於監視和調試Web應用程序以及捕獲關鍵事件,錯誤和運行時行為至關重要。它為系統性能提供了寶貴的見解,有助於識別問題並支持更快的故障排除

文章討論了PHP 5.3中介紹的PHP中的晚期靜態結合(LSB),允許靜態方法的運行時間分辨率調用以更靈活的繼承。 LSB的實用應用和潛在的觸摸


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

Dreamweaver Mac版
視覺化網頁開發工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SublimeText3 Linux新版
SublimeText3 Linux最新版

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能