Use json progress message

It contains the same output that `docker pull` shows

Signed-off-by: Djordje Lukic <djordje.lukic@docker.com>
This commit is contained in:
Djordje Lukic 2020-11-22 18:37:01 +01:00
parent 8d7f213ba8
commit 5ffdaa5cca

View File

@ -127,8 +127,6 @@ func (s *local) applyPullPolicy(ctx context.Context, service types.ServiceConfig
func toProgressEvent(jm jsonmessage.JSONMessage, w progress.Writer) { func toProgressEvent(jm jsonmessage.JSONMessage, w progress.Writer) {
if jm.Progress != nil { if jm.Progress != nil {
if jm.Progress.Total != 0 { if jm.Progress.Total != 0 {
percentage := int(float64(jm.Progress.Current)/float64(jm.Progress.Total)*100) / 2
numSpaces := 50 - percentage
status := progress.Working status := progress.Working
if jm.Status == "Pull complete" { if jm.Status == "Pull complete" {
status = progress.Done status = progress.Done
@ -137,7 +135,7 @@ func toProgressEvent(jm jsonmessage.JSONMessage, w progress.Writer) {
ID: jm.ID, ID: jm.ID,
Text: jm.Status, Text: jm.Status,
Status: status, Status: status,
StatusText: fmt.Sprintf("[%s>%s] ", strings.Repeat("=", percentage), strings.Repeat(" ", numSpaces)), StatusText: jm.Progress.String(),
}) })
} else { } else {
if jm.Error != nil { if jm.Error != nil {