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

基于Alpine镜像的Docker容器运行正常但网页无法访问,报ERR_CONNECTION_RESET错误

问题修复方案

已知问题排查

  1. 变量未定义导致安装失败
    你Dockerfile中第一处软件安装命令里的$phpverx变量未声明,会导致php7$phpverx-apache2包安装失败,Apache服务未正确安装,这是报错的核心诱因之一,需要把对应行修改为:
RUN apk update &&\
    apk upgrade &&\
    apk add apache2 php7-apache2

后续重复安装的php7-apache2可以删除,避免冗余。

  1. 缺失Apache启动命令
    Alpine系统的apache2软件包不会默认配置容器启动时的前台运行逻辑,你当前配置仅设置了ServerName,没有指定启动进程,容器运行后无Apache进程监听80端口,所以访问会返回ERR_CONNECTION_RESET。你看到容器正常运行是因为docker-compose中配置了tty: true维持了容器存活,但实际服务未启动。

修复步骤

  • 首先修正上述变量错误,删除冗余的重复安装配置
  • 在Dockerfile末尾添加Apache前台启动命令,保证容器启动时自动运行服务:
CMD ["/usr/sbin/httpd", "-D", "FOREGROUND"]
  • 可选:确认Apache监听所有网络接口,避免默认仅监听本地回环的问题,可追加如下配置:
RUN sed -i 's/^Listen 80/Listen 0.0.0.0:80/g' /etc/apache2/httpd.conf
  • 测试阶段可临时注释docker-compose中的volumes挂载配置,排除挂载文件覆盖默认首页、权限异常等问题
  • 容器启动后执行docker exec client curl http://localhost验证容器内服务是否正常,若返回正常再排查宿主机端口占用、防火墙拦截等外部问题。

内容的提问来源于stack exchange,提问作者user11766958

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 10:45:05