You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

构建PHP8+Apache Docker镜像时执行RUN service apache2 restart报错求助

解决Docker构建PHP8+Apache镜像时service apache2 restart报错问题

问题根源

webdevops/php-apache镜像采用Supervisor管理Apache进程,而Docker构建阶段(RUN指令执行时)并未启动Supervisor服务,因此执行service apache2 restart会触发unix:///.supervisor.sock no such file错误。此外,构建阶段完全不需要手动重启Apache——PHP扩展安装完成后,容器启动时Supervisor会自动拉起Apache并加载新的扩展配置。

修复后的Dockerfile

FROM webdevops/php-apache:8.2

# 安装依赖并清理缓存,减少镜像层数
RUN apt-get update && \
    apt-get install -y libaio1 libaio-dev unzip && \
    rm -rf /var/lib/apt/lists/*

ADD instantclient-basic-linux.x64-12.2.0.1.0.zip /tmp/
ADD instantclient-sdk-linux.x64-12.2.0.1.0.zip /tmp/
ADD instantclient-sqlplus-linux.x64-12.2.0.1.0.zip /tmp/

RUN unzip /tmp/instantclient-basic-linux.x64-12.2.0.1.0.zip -d /usr/local/ && \
    unzip /tmp/instantclient-sdk-linux.x64-12.2.0.1.0.zip -d /usr/local/ && \
    unzip /tmp/instantclient-sqlplus-linux.x64-12.2.0.1.0.zip -d /usr/local/ && \
    ln -s /usr/local/instantclient_12_2 /usr/local/instantclient && \
    ln -s /usr/local/instantclient/libclntsh.so.12.1 /usr/local/instantclient/libclntsh.so && \
    ln -s /usr/local/instantclient/sqlplus /usr/bin/sqlplus && \
    # 清理临时压缩包
    rm -rf /tmp/*.zip

ENV LD_LIBRARY_PATH /usr/local/instantclient_12_2/

# 安装OCI8扩展并启用
RUN echo 'instantclient,/usr/local/instantclient' | pecl install oci8 && \
    echo "extension=oci8" > $(pecl config-get ext_dir)/oci8.ini && \
    docker-php-ext-enable oci8

# 验证扩展(可选,构建阶段执行)
RUN php -i | grep oci8

EXPOSE 80 443

关键修改说明

  • 移除RUN service apache2 restart:彻底消除报错根源,容器启动时Supervisor会自动处理Apache的启动与配置加载
  • 合并多条RUN指令:减少镜像层数,同时添加rm -rf /var/lib/apt/lists/*清理APT缓存,缩小镜像体积
  • 清理临时文件:删除下载的Oracle客户端压缩包,进一步优化镜像大小

验证方法

构建镜像后,启动容器:

docker run -d --name php-apache-oci8 [你的镜像名]

进入容器验证OCI8扩展是否生效:

docker exec php-apache-oci8 php -i | grep oci8

若输出包含oci8相关配置,则说明扩展安装成功。

内容的提问来源于stack exchange,提问作者Jordi Tomás Molina

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 17:37:41