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

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

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

前面罩一个 nginx,下发 502 错误页面,你要的进度条啥的就在这上面做

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/743366

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX