apiv2: handle docker-java clients pulling

When docker-java calls images/create?fromImage=x, it expects two things
for a successful response: that both "error" and "errorDetail" are not
set, and that the "progress" message contains one of five hard-coded
strings ("Download complete" being one of them).

Signed-off-by: Igor Korolev <missterr@gmail.com>
This commit is contained in:
Igor Korolev
2021-02-10 23:15:48 +04:00
parent 88ab83d4e0
commit fdf39e1699
2 changed files with 3 additions and 3 deletions

View File

@ -265,12 +265,12 @@ func CreateImageFromImage(w http.ResponseWriter, r *http.Request) {
// Success
utils.WriteResponse(w, http.StatusOK, struct {
Status string `json:"status"`
Error string `json:"error"`
Error string `json:"error,omitempty"`
Progress string `json:"progress"`
ProgressDetail map[string]string `json:"progressDetail"`
Id string `json:"id"` // nolint
}{
Status: fmt.Sprintf("pulling image (%s) from %s", img.Tag, strings.Join(img.Names(), ", ")),
Status: fmt.Sprintf("pulling image (%s) from %s (Download complete)", img.Tag, strings.Join(img.Names(), ", ")),
ProgressDetail: map[string]string{},
Id: img.ID(),
})