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

如何解决Docker容器中Nginx出现的404 Not Found错误

解决Docker中Nginx容器运行HTML文件出现404的问题

可能的问题点及排查步骤

  • 检查容器内是否存在index.html
    先进入运行的容器,查看目标目录的文件:

    docker exec -it <容器ID/名称> sh
    ls /usr/share/nginx/html
    

    如果没看到index.html,说明文件没被正确复制到容器里。

  • 确认构建上下文路径是否正确
    执行docker build时,.指的是当前工作目录作为构建上下文。如果Dockerfile和index.html在portal目录下,必须先进入这个目录再执行构建命令,不然COPY指令会复制上级目录的内容,导致index.html没被包含进去。

具体解决方案

  1. 切换到正确目录重新构建
    先进入存放Dockerfile和index.html的portal目录:

    cd /path/to/portal
    docker build -t webserver .
    docker run -d -p 80:80 webserver
    
  2. 提前验证镜像内的文件
    构建完成后,可以先查看镜像里的文件情况,确认index.html是否存在:

    docker run --rm webserver ls /usr/share/nginx/html
    

    能看到index.html的话,再启动容器访问就正常了。

  3. 重载Nginx配置(可选)
    如果文件存在但还是404,可能是Nginx缓存导致的,进入容器重载配置:

    docker exec -it <容器ID/名称> nginx -s reload
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 03:25:04