无法访问 http://localhost/ 的问题解决方法

86次阅读
没有评论

问题描述

在创建了一个名为jetty的Docker容器后,希望能够通过访问 http://localhost/ 来获取一个hello world页面。然而,尝试访问时出现了连接问题。

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案1

首先,需要注意的是在原始的容器创建命令中并没有将主机端口与容器内的端口映射起来。这导致无法通过主机的 localhost 访问容器内的服务。

为了解决这个问题,你可以使用 -p 参数来进行端口映射。以下是如何修改容器创建命令以及相应的步骤:

  1. 停止并删除现有的 jetty 容器(如果已经存在):
    sh
    docker stop jetty
    docker rm jetty

  2. 使用端口映射重新创建 jetty 容器,将主机的端口映射到容器内的端口:
    sh
    docker run -d -p 80:8080 -p 443:8443 --name=jetty jetty

在上面的命令中,我们使用 -p 参数将主机的 80 端口映射到容器的 8080 端口,同时也将主机的 443 端口映射到容器的 8443 端口。这样,你就可以通过 http://localhost/ 来访问容器内的服务了。

方案2

根据 Reply 1 中的信息,容器创建命令应该进行了端口映射,但仍然出现了 404 错误。这可能是因为容器内的服务并没有正确地配置。

为了解决这个问题,你可能需要检查容器内的服务配置,确保它正确地指向了期望的页面或资源。根据你的具体应用和服务,可能需要查看容器内部的配置文件或文档,以确保服务正常运行并提供所需的页面。

注意事项

  • 在使用端口映射时,确保你的主机上没有其他应用程序在使用相同的端口。
  • 如果你的应用程序需要使用 HTTPS,确保映射了相应的端口并配置了正确的证书。

无论采用哪种方案,请在操作前做好备份,并根据你的具体情况进行相应的调整。

参考链接

  1. Docker Hub: Eclipse Jetty
  2. Jetty Documentation

如有更多问题或需要进一步的帮助,请随时提问。

正文完