获取正在进行的Docker镜像拉取的状态

24
如何获取正在运行的Docker拉取进程的状态?我尝试使用sudo docker pull busybox拉取busybox。但没有显示状态。在使用ctrl+c后发出另一个pull请求时,它会说该镜像已由另一个客户端正在拉取。我还尝试取消进行中的拉取,但无法取消 这里是有关该问题的错误报告。
$sudo docker pull busybox
Repository busybox already being pulled by another client. Waiting.

我该如何显示正在进行的docker pull的进度?

2个回答

16

这个功能在问题被提出时(2015年)还不可用。

现在,如果您在两个窗口中运行相同的 docker pull,您会看到相同的状态,即正在下载哪些层、进展如何等等。

如果你停止其中一个 docker pull 命令,另一个会继续执行。

如果你停止最后一个请求 pull 的客户端,pull 操作将终止。

[原始回答如下...]

这是 Docker 的一个建议功能。请参见 ongoing discussion at https://github.com/docker/docker/issues/6928:

我的建议是:

  • docker pull --list 列出所有当前运行的 docker pulls
  • docker pull --resume 恢复给定的 pull
  • docker pull --rm 删除给定的 pull

6
在v1.9.0版本中,--list--resum--rm似乎已经被弃用。如何在v1.9.0中删除拉取(pull)呢? - firelyu
这些选项已经过时。 - Pablo Morales
您IP地址为143.198.54.68,由于运营成本限制,当前对于免费用户的使用频率限制为每个IP每72小时10次对话,如需解除限制,请点击左下角设置图标按钮(手机用户先点击左上角菜单按钮)。 - Bryan
2
@Bryan仅仅指向一个Github问题并不足以成为一个好的答案。 - dvdgsng
如果你想在Java中获取下载或上传的状态,你可以创建一个数据传输对象(DTO),并在实际下载发生时返回该对象,这样用户就可以知道Docker交互的状态。 - undefined

-4

我认为你是在代理后面。如果是这样,你必须停止 Docker 并通过以下命令启动它

sudo HTTP_PROXY=http://<ip of proxy server:port> docker -d & 

在使用docker时,取消设置http_proxy并导出http_proxy对我没有起作用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接