官方鏡像說明頁:
可根據自己需要,選擇對應版本的 php 進行下載。
這里使用 php 7.2 + apache 服務的鏡像為例:
docker pull php:7.2-apache
運行容器:
docker run -d -p 9000:80 \ -v /home/website-php-root/:/var/www/html \ --name test-php php:7.2-apache
默認情況下,apache 的根目錄在 /var/www/html 下,可以向上面直接映射進去,或使用 dockerfile 制作鏡像直接編譯進去:
FROM php:7.2-apache COPY src/ /var/www/html/
默認情況下,鏡像內部是沒有安裝 pdo_mysql、mysqli 擴展的
會遇到錯誤:Uncaught Error: Call to undefined function mysql_connect() in /var/www/html
需要手動執行安裝
# 進入容器 docker exec -it test-php /bin/bash # 安裝 mysql 擴展 cd /usr/local/bin ./docker-php-ext-install pdo_mysql ./docker-php-ext-install mysqli
重啟容器后自動生效,參考自:https://blog.csdn.net/ltgsoldier1/article/details/105515347
可以搭建 PHP 測試頁查看環境配置信息
<?php phpinfo(); echo('hello world'); ?>
將以上保存為 test.php 放在根目錄下直接訪問即可,可以看到 PDO 的驅動情況: