diff options
Diffstat (limited to 'cmd/podman')
-rw-r--r-- | cmd/podman/common.go | 4 | ||||
-rw-r--r-- | cmd/podman/exec.go | 19 | ||||
-rw-r--r-- | cmd/podman/shared/create.go | 5 |
3 files changed, 21 insertions, 7 deletions
diff --git a/cmd/podman/common.go b/cmd/podman/common.go index 771738302..167b3e845 100644 --- a/cmd/podman/common.go +++ b/cmd/podman/common.go @@ -389,6 +389,10 @@ func getCreateFlags(c *cliconfig.PodmanCommand) { "Connect a container to a network", ) createFlags.Bool( + "no-hosts", false, + "Do not create /etc/hosts within the container, instead use the version from the image", + ) + createFlags.Bool( "oom-kill-disable", false, "Disable OOM Killer", ) diff --git a/cmd/podman/exec.go b/cmd/podman/exec.go index a6afbf75a..fc1c76e9f 100644 --- a/cmd/podman/exec.go +++ b/cmd/podman/exec.go @@ -112,14 +112,19 @@ func execCmd(c *cliconfig.ExecValues) error { var ret int data, err := ioutil.ReadFile(ctr.Config().ConmonPidFile) - if err != nil { - return errors.Wrapf(err, "cannot read conmon PID file %q", ctr.Config().ConmonPidFile) - } - conmonPid, err := strconv.Atoi(string(data)) - if err != nil { - return errors.Wrapf(err, "cannot parse PID %q", data) + if err == nil { + conmonPid, err := strconv.Atoi(string(data)) + if err != nil { + return errors.Wrapf(err, "cannot parse PID %q", data) + } + became, ret, err = rootless.JoinDirectUserAndMountNS(uint(conmonPid)) + } else { + pid, err := ctr.PID() + if err != nil { + return err + } + became, ret, err = rootless.JoinNS(uint(pid), c.PreserveFDs) } - became, ret, err = rootless.JoinDirectUserAndMountNS(uint(conmonPid)) if err != nil { return err } diff --git a/cmd/podman/shared/create.go b/cmd/podman/shared/create.go index 5ce0b8865..5f7263cb6 100644 --- a/cmd/podman/shared/create.go +++ b/cmd/podman/shared/create.go @@ -357,6 +357,10 @@ func ParseCreateOpts(ctx context.Context, c *cliconfig.PodmanCommand, runtime *l return nil, errors.Errorf("--cpu-quota and --cpus cannot be set together") } + if c.Bool("no-hosts") && c.Flag("add-host").Changed { + return nil, errors.Errorf("--no-hosts and --add-host cannot be set together") + } + // EXPOSED PORTS var portBindings map[nat.Port][]nat.PortBinding if data != nil { @@ -646,6 +650,7 @@ func ParseCreateOpts(ctx context.Context, c *cliconfig.PodmanCommand, runtime *l GroupAdd: c.StringSlice("group-add"), Hostname: c.String("hostname"), HostAdd: c.StringSlice("add-host"), + NoHosts: c.Bool("no-hosts"), IDMappings: idmappings, Image: imageName, ImageID: imageID, |