diff options
-rw-r--r-- | cmd/podman/spec.go | 1 | ||||
-rw-r--r-- | libpod/container_internal.go | 13 |
2 files changed, 13 insertions, 1 deletions
diff --git a/cmd/podman/spec.go b/cmd/podman/spec.go index c4202fcef..014919e17 100644 --- a/cmd/podman/spec.go +++ b/cmd/podman/spec.go @@ -195,6 +195,7 @@ func createConfigToOCISpec(config *createConfig) (*spec.Spec, error) { for sysctlKey, sysctlVal := range config.Sysctl { g.AddLinuxSysctl(sysctlKey, sysctlVal) } + g.AddProcessEnv("container", "podman") // RESOURCES - MEMORY if config.Resources.Memory != 0 { diff --git a/libpod/container_internal.go b/libpod/container_internal.go index d8002b000..28f7dfe45 100644 --- a/libpod/container_internal.go +++ b/libpod/container_internal.go @@ -909,7 +909,18 @@ func (c *Container) generateSpec() (*spec.Spec, error) { g.SetHostname(c.Hostname()) g.AddProcessEnv("HOSTNAME", g.Spec().Hostname) - g.AddProcessEnv("container", "libpod") + + // Only add container environment variable if not already present + foundContainerEnv := false + for _, env := range g.Spec().Process.Env { + if strings.HasPrefix(env, "container=") { + foundContainerEnv = true + break + } + } + if !foundContainerEnv { + g.AddProcessEnv("container", "libpod") + } return g.Spec(), nil } |