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

Docker容器无法加载CSS文件问题求助

问题排查与解决步骤

针对你遇到的styling.css加载失败(net::ERR_CONNECTION_REFUSED)问题,结合提供的配置和目录结构,按以下步骤排查:

1. 检查HTML中CSS文件的引用路径

这是最常见的触发原因:

  • 打开index.php或其他引入CSS的文件,查看<link>标签的href属性。如果使用了绝对路径(比如http://localhost:80/styling.css),但你的signup容器映射的是88端口,访问时会尝试连接未开放的80端口,导致连接被拒。
  • 改成相对路径,比如:
    <link rel="stylesheet" href="./styling.css">
    
    或直接使用文件名(确保CSS文件和当前PHP文件在同一目录):
    <link rel="stylesheet" href="styling.css">
    
    对比signin容器的引用路径,确保两者逻辑一致。

2. 验证容器内文件是否正确复制

  • 执行命令进入容器,检查文件是否存在且权限正常:
    docker exec -it signup ls -l /var/www/html/
    
    确认styling.css在列表中,且权限为rw-r--r--左右(Apache需要读取权限)。
  • 如果文件不存在,检查Dockerfile的COPY命令:COPY src/ /var/www/html/是否正确。注意src/末尾的斜杠会将src目录下的所有文件直接复制到目标目录,而非创建/var/www/html/src子目录。

3. 确认端口访问方式

  • 确保你访问signup页面时使用的是http://localhost:88(对应docker-compose的端口映射88:80),而非localhost:80。如果浏览器地址栏是80端口,请求CSS时也会走80端口,导致连接被拒。

4. 检查Apache配置与网络

  • 验证Apache的根目录配置:进入容器查看默认站点配置:
    docker exec -it signup cat /etc/apache2/sites-available/000-default.conf
    
    确认DocumentRoot为/var/www/html,这是php:7.2-apache的默认配置,若被修改会导致静态文件无法访问。
  • 检查test网络是否存在:
    docker network ls
    
    确认test网络在列表中,再通过docker inspect signup查看容器是否已加入该网络(查看Networks字段)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 09:39:22