summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libpod/container_internal.go3
-rw-r--r--pkg/spec/createconfig.go6
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())