我尝试发布docker图像下载状态到前端在一个实时的方式。目前它可以告诉docker拉正在进行中。我明白,可能有不同大小的多个层和层的大小还没有开始下载可能是未知的。所以我想显示有多少层和层的当前下载状态已经开始下载。你知道当你运行docker pull <image>
时如何捕获终端控制台上显示的数据吗?我的程序是Python的,所以我想用Python代码获取数据并将其发送到前端。我检查了Docker文档,但没有找到任何支持此功能的api。看起来还没有支持此功能的公共api。
你有没有其他方法可以实现我的目标?
欢迎您提出任何建议!
谢谢大家!
2条答案
按热度按时间8xiog9wr1#
为此,您需要一个低级别的
pull()
调用(docs)。ht4b089n2#
docker-py提供了低级API来提取图像沿着流状态。您可以使用此代码段将其显示为类似于
docker pull
命令的进度条。它首先显示用于显示下载状态的红色进度条,然后显示用于提取的绿色状态条:-)Progress bar for docker pull through Python API