V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
5gmobiler
V2EX  ›  问与答

docker 镜像启动后立即访问地址失败 需要重新刷新几次或等待几秒才能访问

  •  
  •   5gmobiler · 2021-01-09 17:53:00 +08:00 · 737 次点击
    这是一个创建于 1441 天前的主题,其中的信息可能已经有所发展或是发生改变。
    正学习使用 docker-py 开发容器管理应用,用户在前端页面点击启动容器,后端 api 收到请求后让某个镜像按照指定 ip 和端口启动,然后返回前端用户指定的 ip 和端口的 json 响应,往往出现用户立即访问 ip+端口会失败,需要重新刷新几次或等待几秒才能访问,似乎是容器启动完全需要几秒时间,所以这里请教一下专家,是否可以在前端页面设计一个进度条,后端设计一个容器状态查询接口,然后前端用 ajax 定时发起容器查询接口,当发现状态为真正 up,如果这个方案可行?那么这里怎么去判断当前容器的运行状态也有讲究,是否直接循环判断 docker inspect congtainerid 判断 running 状态?哪位大佬可以写个 vue+django 关键说明代码啊?非常感谢!
    3 条回复    2021-01-09 19:47:52 +08:00
    rbe
        1
    rbe  
       2021-01-09 18:34:35 +08:00
    nc -z host port 或者 telnet host port 一秒轮询一次就可以了
    kaneg
        2
    kaneg  
       2021-01-09 19:19:42 +08:00 via iPhone
    如果要做的全面,你既要检测容器的状态是否到运行状态,还要检测你的应用是否启动成功
    ETiV
        3
    ETiV  
       2021-01-09 19:47:52 +08:00 via iPhone
    大致方向是 readiness check 和 health check

    对于:
    > 是否可以在前端页面设计一个进度条

    前面罩一个 nginx,下发 502 错误页面,你要的进度条啥的就在这上面做
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1294 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 17:51 · PVG 01:51 · LAX 09:51 · JFK 12:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.