diff options
author | zhangguanzhang <zhangguanzhang@qq.com> | 2020-09-30 23:09:06 +0800 |
---|---|---|
committer | zhangguanzhang <zhangguanzhang@qq.com> | 2020-10-01 05:13:01 +0800 |
commit | cde367c1c0b348366fcaf4d8fac3b753de8456d5 (patch) | |
tree | f6176b12c80feeef8116f610d152331e76658bcb /pkg/api | |
parent | 19f080f1af884c1e36f55dc81cd51b0ac91a868a (diff) | |
download | podman-cde367c1c0b348366fcaf4d8fac3b753de8456d5.tar.gz podman-cde367c1c0b348366fcaf4d8fac3b753de8456d5.tar.bz2 podman-cde367c1c0b348366fcaf4d8fac3b753de8456d5.zip |
fix: The container created by APIV2 has an incorrect Env and WorkDir
Signed-off-by: zhangguanzhang <zhangguanzhang@qq.com>
Diffstat (limited to 'pkg/api')
-rw-r--r-- | pkg/api/handlers/compat/containers_create.go | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/pkg/api/handlers/compat/containers_create.go b/pkg/api/handlers/compat/containers_create.go index 1d0b4c45d..0579da8de 100644 --- a/pkg/api/handlers/compat/containers_create.go +++ b/pkg/api/handlers/compat/containers_create.go @@ -82,7 +82,13 @@ func makeCreateConfig(ctx context.Context, containerConfig *config.Config, input } } - workDir := "/" + workDir, err := newImage.WorkingDir(ctx) + if err != nil { + return createconfig.CreateConfig{}, err + } + if workDir == "" { + workDir = "/" + } if len(input.WorkingDir) > 0 { workDir = input.WorkingDir } @@ -169,6 +175,11 @@ func makeCreateConfig(ctx context.Context, containerConfig *config.Config, input // away incorrectly formatted variables so we cannot reuse the // parsing of the env input // [Foo Other=one Blank=] + imgEnv, err := newImage.Env(ctx) + if err != nil { + return createconfig.CreateConfig{}, err + } + input.Env = append(imgEnv, input.Env...) for _, e := range input.Env { splitEnv := strings.Split(e, "=") switch len(splitEnv) { |