summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmd/podman/spec.go1
-rw-r--r--libpod/container_internal.go13
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
}