From c976d49805aa909ca3ec2de318852b5c5d378656 Mon Sep 17 00:00:00 2001 From: Giuseppe Scrivano Date: Fri, 1 Jun 2018 13:16:25 +0200 Subject: network: do not attempt to create a network in rootless mode Signed-off-by: Giuseppe Scrivano Closes: #871 Approved by: mheon --- libpod/container_internal.go | 3 +++ pkg/spec/createconfig.go | 6 +++++- 2 files changed, 8 insertions(+), 1 deletion(-) 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()) -- cgit v1.2.3-54-g00ecf