diff options
-rw-r--r-- | libpod/container_internal.go | 3 | ||||
-rw-r--r-- | pkg/spec/createconfig.go | 6 |
2 files changed, 8 insertions, 1 deletions
diff --git a/libpod/container_internal.go b/libpod/container_internal.go index 0698222a1..820f2209f 100644 --- a/libpod/container_internal.go +++ b/libpod/container_internal.go @@ -512,6 +512,9 @@ func (c *Container) completeNetworkSetup() error { if !c.config.PostConfigureNetNS { return nil } + if os.Getuid() != 0 { + return nil + } if err := c.syncContainer(); err != nil { return err } diff --git a/pkg/spec/createconfig.go b/pkg/spec/createconfig.go index 4d29fb3bd..36a6e83f2 100644 --- a/pkg/spec/createconfig.go +++ b/pkg/spec/createconfig.go @@ -360,7 +360,11 @@ func (c *CreateConfig) GetContainerCreateOptions() ([]libpod.CtrCreateOption, er // does not have one options = append(options, libpod.WithEntrypoint(c.Entrypoint)) - if c.NetMode.IsContainer() { + if os.Getuid() != 0 { + if !c.NetMode.IsHost() && !c.NetMode.IsNone() { + options = append(options, libpod.WithNetNS(portBindings, true)) + } + } else if c.NetMode.IsContainer() { connectedCtr, err := c.Runtime.LookupContainer(c.NetMode.ConnectedContainer()) if err != nil { return nil, errors.Wrapf(err, "container %q not found", c.NetMode.ConnectedContainer()) |