容器化 PHP 應用程式
先決條件
- 您已安裝最新版本的 Docker Desktop。
- 您擁有一個 git 客戶端。本節中的示例使用基於命令列的 git 客戶端,但您可以使用任何客戶端。
概述
本節將指導您逐步完成容器化和執行 PHP 應用程式的過程。
獲取示例應用程式
在本指南中,您將使用預構建的 PHP 應用程式。該應用程式使用 Composer 進行庫依賴項管理。您將透過 Apache Web 伺服器提供該應用程式。
開啟終端,將目錄更改為您想要工作的目錄,並執行以下命令來克隆倉庫。
$ git clone https://github.com/docker/docker-php-sample
示例應用程式是一個基本的 hello world 應用程式,以及一個在資料庫中遞增計數器的應用程式。此外,該應用程式使用 PHPUnit 進行測試。
初始化 Docker 資源
現在您已經擁有了應用程式,可以使用 docker init
來建立容器化應用程式所需的 Docker 資源。在 docker-php-sample
目錄中,在終端中執行 docker init
命令。docker init
提供了一些預設配置,但您需要回答一些關於您的應用程式的問題。例如,此應用程式使用 PHP 版本 8.2。請參考以下 docker init
示例,並使用相同的答案來回答您的提示。
$ docker init
Welcome to the Docker Init CLI!
This utility will walk you through creating the following files with sensible defaults for your project:
- .dockerignore
- Dockerfile
- compose.yaml
- README.Docker.md
Let's get started!
? What application platform does your project use? PHP with Apache
? What version of PHP do you want to use? 8.2
? What's the relative directory (with a leading .) for your app? ./src
? What local port do you want to use to access your server? 9000
現在您應該在 docker-php-sample
目錄中看到以下內容。
├── docker-php-sample/
│ ├── .git/
│ ├── src/
│ ├── tests/
│ ├── .dockerignore
│ ├── .gitignore
│ ├── compose.yaml
│ ├── composer.json
│ ├── composer.lock
│ ├── Dockerfile
│ ├── README.Docker.md
│ └── README.md
要詳細瞭解 docker init
新增的檔案,請參閱以下內容
執行應用程式
在 docker-php-sample
目錄中,在終端中執行以下命令。
$ docker compose up --build
開啟瀏覽器,並訪問 https://:9000/hello.php。您應該看到一個簡單的 hello world 應用程式。
在終端中,按 ctrl
+c
停止應用程式。
在後臺執行應用程式
您可以透過新增 -d
選項,將應用程式與終端分離執行。在 docker-php-sample
目錄中,在終端中執行以下命令。
$ docker compose up --build -d
開啟瀏覽器,並訪問 https://:9000/hello.php。您應該看到一個簡單的 hello world 應用程式。
在終端中,執行以下命令來停止應用程式。
$ docker compose down
有關 Compose 命令的更多資訊,請參閱 Compose CLI 參考。
總結
在本節中,您學習瞭如何使用 Docker 容器化和執行一個簡單的 PHP 應用程式。
相關資訊
下一步
在下一節中,您將學習如何使用 Docker 容器開發您的應用程式。