From 5fc5b4eacb924a597611fe44dcb8e79a7f0b59ac Mon Sep 17 00:00:00 2001 From: Matthew Heon Date: Fri, 23 Mar 2018 09:28:45 -0400 Subject: [PATCH] Document .containerenv in manpages. Move it to /run. Signed-off-by: Matthew Heon Closes: #533 Approved by: baude --- docs/podman-run.1.md | 8 ++++++++ libpod/container_internal.go | 5 +++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/docs/podman-run.1.md b/docs/podman-run.1.md index edd7ed681d..c1183e9101 100644 --- a/docs/podman-run.1.md +++ b/docs/podman-run.1.md @@ -21,6 +21,14 @@ If the IMAGE is not already loaded then **podman run** will pull the IMAGE, and all image dependencies, from the repository in the same way running **podman pull** IMAGE, before it starts the container from that image. +Several files will be automatically created within the container when it is run. +These include `/etc/hosts`, `/etc/hostname`, and `/etc/resolv.conf` to manage +networking. These will be based on the host's version of the files, though they +can be customized with options (for example, **--dns** will override the host's +DNS servers in the created `resolv.conf`). Additionally, an empty file is +created in each container to indicate to programs they are running in a +container. This file is located at `/run/.containerenv`. + ## OPTIONS **--add-host**=[] Add a custom host-to-IP mapping (host:ip) diff --git a/libpod/container_internal.go b/libpod/container_internal.go index d70e5c13b3..0b04cc81a8 100644 --- a/libpod/container_internal.go +++ b/libpod/container_internal.go @@ -673,13 +673,14 @@ func (c *Container) makeBindMounts() error { } // Make .containerenv - if _, ok := c.state.BindMounts["/.containerenv"]; !ok { + // Empty file, so no need to recreate if it exists + if _, ok := c.state.BindMounts["/run/.containerenv"]; !ok { // Empty string for now, but we may consider populating this later containerenvPath, err := c.writeStringToRundir(".containerenv", "") if err != nil { return errors.Wrapf(err, "error creating containerenv file for container %s", c.ID()) } - c.state.BindMounts["/.containerenv"] = containerenvPath + c.state.BindMounts["/run/.containerenv"] = containerenvPath } return nil