解决 Docker 中安装 Tomcat 后访问 8080 端口显示 404 的问题

一、问题现象

在 Docker 中启动 Tomcat 容器后,通过 http://localhost:8080http://服务器IP:8080 访问时,页面显示 404 Not Found,而非 Tomcat 默认的欢迎页。这是 Docker 部署 Tomcat 时的常见问题,通常与容器配置、端口映射或镜像选择有关。

二、原因及解决步骤

原因:部分 Tomcat 镜像(如官方 tomcat:latesttomcat:9-jre11 等)为精简体积,默认移除了 webapps 目录下的欢迎页文件,仅保留 webapps.dist 目录(包含默认页面)。

解决方法:将 webapps.dist 中的文件复制到 webapps 目录(Tomcat 默认加载 webapps 下的应用)。

  1. 进入正在运行的 Tomcat 容器:

    docker exec -it mytomcat /bin/bash
    
  2. 在容器内执行以下命令,复制默认页面文件:

    # 查看 webapps 目录(可能为空)
    ls -l /usr/local/tomcat/webapps
    # 查看 webapps.dist 目录(包含默认页面)
    ls -l /usr/local/tomcat/webapps.dist
    # 复制文件到 webapps 目录
    cp -r /usr/local/tomcat/webapps.dist/* /usr/local/tomcat/webapps/
    
  3. 退出容器(执行 exit),再次访问 http://localhost:8080,此时应显示 Tomcat 欢迎页。

三、验证解决方案

完成上述步骤后,重新访问 http://localhost:8080(本地)或 http://服务器IP:8080(远程)。

更多推荐