in images/controller/pkg/util.go [191:218]
func GetImagesOnNode() ([]DockerImage, error) {
resp := make([]DockerImage, 0)
cmd := exec.Command("sh", "-c", "docker images --digests --format '{{json .}}'")
stdout, err := cmd.StdoutPipe()
if err != nil {
return resp, fmt.Errorf("failed to get node images, stdoutpipe: %v", err)
}
if err := cmd.Start(); err != nil {
return resp, fmt.Errorf("failed to get node images, command start: %v", err)
}
d := json.NewDecoder(stdout)
for {
var jsonResp DockerImage
if err := d.Decode(&jsonResp); err == io.EOF {
break
} else if err != nil {
return resp, err
}
resp = append(resp, jsonResp)
}
if err := cmd.Wait(); err != nil {
return resp, fmt.Errorf("failed to get node images, command wait: %v", err)
}
return resp, nil
}