基于 Dragonwell 8 Ubuntu 镜像
FROM dragonwell-registry.cn-hangzhou.cr.aliyuncs.com/dragonwell/dragonwell:8-ubuntu
更换 Ubuntu 源为阿里云(加速安装)
RUN sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list && \
sed -i 's/security.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list
更新系统并安装 PHP 及常用扩展(以 PHP 7.4 为例,可根据需求更换版本)
RUN apt-get update && apt-get install -y \
php7.4 \
php7.4-cli \
php7.4-fpm \
php7.4-mysql \
php7.4-curl \
php7.4-gd \
php7.4-mbstring \
php7.4-xml \
php7.4-zip \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
验证 PHP 安装
RUN php -v
设置工作目录
WORKDIR /var/www/html
暴露 PHP-FPM 端口(如果需要通过 FPM 运行)
EXPOSE 9000
启动命令(可根据需求调整,如直接运行 PHP 脚本或启动 FPM)
CMD ["php", "-S", "0.0.0.0:80", "-t", "/var/www/html"]
之前使用过一个班版本组后这个启动命令是 CMD["php-fpm"]最后镜像创建成功了,但是启动容器老是失败,只有这个是成功的。
通过命令指定使用Dockerfile_php这个文件作为脚本创建image_php这个镜像
docker build -f Dockerfile_php -t image_php .
从镜像image_php启动容器cphp
sudo docker run -d --name cphp -p 9000:9000 image_php
用交互模式进入容器查看以及进行其他操作
docker exec -it cphp bash
如果要查看php-fpm状态,容器内不能使用systemctl 要使用如下命令
service php7.4-fpm status
启动php要使用
service php7.4-fpm start