Handle changes in docker compat mode

Fixes: https://github.com/containers/podman/issues/12830

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
This commit is contained in:
Daniel J Walsh 2022-01-18 16:05:35 -05:00
parent 1c81b67341
commit c674d3cc75
No known key found for this signature in database
GPG Key ID: A2DF901DABE2C028
2 changed files with 29 additions and 1 deletions

View File

@ -138,7 +138,9 @@ func CommitContainer(w http.ResponseWriter, r *http.Request) {
options.Message = query.Comment
options.Author = query.Author
options.Pause = query.Pause
options.Changes = strings.Fields(query.Changes)
if query.Changes != "" {
options.Changes = strings.Split(query.Changes, ",")
}
ctr, err := runtime.LookupContainer(query.Container)
if err != nil {
utils.Error(w, "Something went wrong.", http.StatusNotFound, err)

View File

@ -408,3 +408,29 @@ t GET containers/$cid/json 200 \
.HostConfig.Binds[0]~/tmp:/mnt:.* \
t DELETE containers/$cid?v=true 204
# test apiv2 create/commit
t POST containers/create \
Image=$IMAGE \
Entrypoint='["echo"]' \
Cmd='["param1","param2"]' \
201 \
.Id~[0-9a-f]\\{64\\}
cid=$(jq -r '.Id' <<<"$output")
# No such container
t POST "commit?container=nonesuch" 404
cparam="repo=newrepo&tag=v3&comment=abcd&author=eric"
cparam="$cparam&format=docker&changes=CMD=/bin/bar,EXPOSE=9090"
t POST "commit?container=${cid:0:12}&$cparam" 201 \
.Id~[0-9a-f]\\{64\\}
iid=$(jq -r '.Id' <<<"$output")
t GET images/$iid/json 200 \
.RepoTags[0]=docker.io/library/newrepo:v3 \
.Config.ExposedPorts~.*"9090/tcp" \
.Config.Cmd~.*"/bin/bar" \
.Comment="abcd"
t DELETE containers/$cid 204
t DELETE images/docker.io/library/newrepo:v3?force=false 200