diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2020-08-26 13:04:37 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-08-26 13:04:37 -0400 |
commit | f99954c7ca4428e501676fa47a63b5cecadd9454 (patch) | |
tree | 2e62d26620f7feca4b98d63b56c88fd27d322124 /pkg/api/handlers/compat/containers_create.go | |
parent | 3a9d5248ac65358e7a4f123c2cdbe93584084d6a (diff) | |
parent | fa6ba6802618e3e23746c4b4707fb403a55514ae (diff) | |
download | podman-f99954c7ca4428e501676fa47a63b5cecadd9454.tar.gz podman-f99954c7ca4428e501676fa47a63b5cecadd9454.tar.bz2 podman-f99954c7ca4428e501676fa47a63b5cecadd9454.zip |
Merge pull request #7409 from zhangguanzhang/apiv2-create-ctr-with-invalid-entrypoint
fix apiv2 will create containers with incorrect commands
Diffstat (limited to 'pkg/api/handlers/compat/containers_create.go')
-rw-r--r-- | pkg/api/handlers/compat/containers_create.go | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/pkg/api/handlers/compat/containers_create.go b/pkg/api/handlers/compat/containers_create.go index 8238d2d93..93e4fe540 100644 --- a/pkg/api/handlers/compat/containers_create.go +++ b/pkg/api/handlers/compat/containers_create.go @@ -87,20 +87,21 @@ func makeCreateConfig(ctx context.Context, containerConfig *config.Config, input workDir = input.WorkingDir } - if input.Entrypoint == nil { - entrypointSlice, err := newImage.Entrypoint(ctx) + // Only use image's Cmd when the user does not set the entrypoint + if input.Entrypoint == nil && len(input.Cmd) == 0 { + cmdSlice, err := newImage.Cmd(ctx) if err != nil { return createconfig.CreateConfig{}, err } - input.Entrypoint = entrypointSlice + input.Cmd = cmdSlice } - if len(input.Cmd) == 0 { - cmdSlice, err := newImage.Cmd(ctx) + if input.Entrypoint == nil { + entrypointSlice, err := newImage.Entrypoint(ctx) if err != nil { return createconfig.CreateConfig{}, err } - input.Cmd = cmdSlice + input.Entrypoint = entrypointSlice } stopTimeout := containerConfig.Engine.StopTimeout |