下面给你一个从零开始的「Debian + PHP 容器化」实践指南,以 Docker 为例,适合 Web 项目(如 PHP-FPM / CLI / Nginx 组合)。
mkdir debian-php
cd debian-php
# 使用 Debian 官方镜像
FROM debian:12
# 避免交互式安装
ENV DEBIAN_FRONTEND=noninteractive
# 安装 PHP CLI
RUN apt-get update && \
apt-get install -y php-cli && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
# 工作目录
WORKDIR /app
# 默认命令
CMD ["php", "-v"]
docker build -t debian-php .
docker run --rm debian-php
✅ 输出 PHP 版本即成功
docker run --rm -v $(pwd):/app debian-php php /app/index.php
示例 index.php:
<?php
echo "Hello from Debian PHP container\n";
FROM debian:12
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && \
apt-get install -y php-fpm && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
WORKDIR /app
EXPOSE 9000
CMD ["php-fpm7.4", "-F"]
Debian 12 默认是 php8.2,可用
php-fpm8.2
server {
listen 80;
root /app;
index index.php;
location ~ \.php$ {
fastcgi_pass php:9000;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
version: "3"
services:
php:
build: ./php
volumes:
- ./app:/app
nginx:
image: nginx:latest
ports:
- "8080:80"
volumes:
- ./app:/app
- ./nginx.conf:/etc/nginx/conf.d/default.conf
depends_on:
- php
访问:
http://localhost:8080
FROM debian:12-slim
apt-get install -y \
php-mysql \
php-curl \
php-mbstring \
php-xml
apt-get install -y php8.2-fpm
# 进入容器
docker exec -it 容器名 bash
# 查看 PHP 模块
php -m
你可以告诉我:
我可以直接帮你写一套 完整 Docker + PHP 项目模板。