使用容器進行 PHP 開發
先決條件
完成 將 PHP 應用程式容器化。
概觀
在本節中,您將學習如何為您的容器化應用程式設定開發環境。 這包括
- 新增本地資料庫並保存資料
- 新增 phpMyAdmin 以與資料庫互動
- 設定 Compose 以在您編輯和儲存程式碼時自動更新正在執行的 Compose 服務
- 建立包含開發依賴項的開發容器
新增本地資料庫並保存資料
您可以使用容器來設定本地服務,例如資料庫。 要為範例應用程式執行此操作,您需要執行下列操作
- 更新
Dockerfile
以安裝連接到資料庫的擴充功能 - 更新
compose.yaml
檔案以新增資料庫服務和磁碟區以保存資料
更新 Dockerfile 以安裝擴充功能
要安裝 PHP 擴充功能,您需要更新 Dockerfile
。 在 IDE 或文字編輯器中開啟您的 Dockerfile,然後更新內容。 下列 Dockerfile
包含一個安裝 pdo
和 pdo_mysql
擴充功能的新行。 所有註釋均已移除。
# syntax=docker/dockerfile:1
FROM composer:lts as deps
WORKDIR /app
RUN --mount=type=bind,source=composer.json,target=composer.json \
--mount=type=bind,source=composer.lock,target=composer.lock \
--mount=type=cache,target=/tmp/cache \
composer install --no-dev --no-interaction
FROM php:8.2-apache as final
RUN docker-php-ext-install pdo pdo_mysql
RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
COPY --from=deps app/vendor/ /var/www/html/vendor
COPY ./src /var/www/html
USER www-data
有關安裝 PHP 擴充功能的更多詳細資訊,請參閱 PHP 官方 Docker 映像檔。
更新 compose.yaml 檔案以新增資料庫並保存資料
在 IDE 或文字編輯器中開啟 compose.yaml
檔案。 您會注意到它已經包含 PostgreSQL 資料庫和磁碟區的註釋說明。 對於此應用程式,您將使用 MariaDB。 有關 MariaDB 的更多詳細資訊,請參閱 MariaDB 官方 Docker 映像檔