mio-233 2024-05-13 11:53 采纳率: 27.8%
浏览 35

服务器上用docker部署的容器,无法访问

配置了安全组

img

img

docker启动了容器,都是能运行的

img

但是无法访问,这是怎么回事啊,如何解决

img

但是没用docker部署的nginx配置的网站能访问

  • 写回答

3条回答 默认 最新

  • 笑面虎 2024-05-13 12:06
    关注

    以下内容由CHATGPT及笑面虎共同生成、有用望采纳:


    您想要解决的问题: 您希望解决的问题是:在使用Docker部署的容器无法被访问的问题。您已经配置了安全组,并且Docker容器本身是运行状态,但是尝试访问时出现了连接超时的错误。

    图片内容:

    1. 第一张图片显示了Docker容器的运行状态,包括容器ID、镜像、命令、创建时间、状态、端口和名称。其中,有一个Redis容器和一个名为halo的容器正在运行,并且halo容器的8090端口被映射到了宿主机的8090端口。
    2. 第二张图片提供了安全组的详细信息,包括安全组ID、网络、创建时间等。
    3. 第三张图片展示了安全组的访问规则,包括入方向的规则,允许所有IP地址访问3306和8090端口。
    4. 第四张图片是一个错误页面,显示了尝试访问服务器的8090端口时出现了连接超时。

    问题出现原因: 问题可能出现的原因有:

    • 尽管安全组规则允许访问8090端口,但可能存在网络配置问题,导致流量无法正确路由到Docker容器。
    • Docker容器的网络设置可能不正确,导致外部请求无法到达容器。
    • 容器内部的服务可能没有正确配置为监听映射到宿主机的端口。
    • 宿主机的防火墙或路由器设置可能阻止了对该端口的访问。

    问题解决方案:

    1. 检查Docker容器的端口映射: 确保Docker容器的8090端口正确映射到了宿主机的8090端口。
    2. 检查宿主机的防火墙设置: 确保宿主机的防火墙或安全软件没有阻止8090端口的流量。
    3. 检查容器内部服务的配置: 确认容器内部的服务(如halo服务)配置为监听所有网络接口或特定的端口。
    4. 检查网络路由和DNS设置: 确保网络路由正确,DNS设置能够正确解析您的服务器IP。

    提供代码: 由于这个问题不涉及代码修改,而是网络和安全组配置的问题,因此没有具体的代码提供。但是,以下是一些可能需要检查或执行的命令:

    • docker ps:检查容器的端口映射是否正确。
    • iptables -L:检查宿主机的防火墙规则。
    • netstat -tuln | grep 8090:检查8090端口的使用情况。

    代码运行方式: 在服务器的命令行界面运行上述命令。

    代码预期运行结果:

    • docker ps 应该显示halo容器的8090端口映射到了宿主机的8090端口。
    • iptables -L 应该没有显示阻止8090端口流量的规则。
    • netstat -tuln | grep 8090 应该显示8090端口正在被监听。

    推荐相关链接:

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 5月13日

悬赏问题

  • ¥15 校内二手商品转让网站
  • ¥20 高德地图聚合图层MarkerCluster聚合多个点,但是ClusterData只有其中部分数据,原因应该是有经纬度重合的地方点,现在我想让ClusterData显示所有点的信息,如何实现?
  • ¥100 求Web版SPC控制图程序包调式
  • ¥20 指导如何跑通以下两个Github代码
  • ¥15 大家知道这个后备文件怎么删吗,为啥这些文件我只看到一份,没有后备呀
  • ¥15 C++为什么这个代码没报错运行不出来啊
  • ¥15 一道ban了很多东西的pyjail题
  • ¥15 关于#r语言#的问题:如何将生成的四幅图排在一起,且对变量的赋值进行更改,让组合的图漂亮、美观@(相关搜索:森林图)
  • ¥15 C++识别堆叠物体异常
  • ¥15 微软硬件驱动认证账号申请