title: How to run podman from inside a container?
body: <p>I want to run <a href="https://podman.io" rel="noreferrer">podman</a> as a container to run CI/CD pipelines. However, I keep getting this error from the podman container:</p>
  
  <pre class="lang-sh prettyprint-override"><code>$ podman info
  ERRO[0000] 'overlay' is not supported over overlayfs
  Error: could not get runtime: 'overlay' is not supported over overlayfs: backing file system is unsupported for this graph driver
  </code></pre>
  
  <p>I am using the <a href="https://github.com/jenkinsci/kubernetes-plugin" rel="noreferrer">Jenkins Kubernetes plugin</a> to write CI/CD pipelines that run as containers within a Kubernetes cluster. I've been successful at writing pipelines that use a Docker-in-Docker container to run <code>docker build</code> and <code>docker push</code> commands.</p>
  
  <p>However, running a Docker client and a Docker Daemon inside a container makes the CI/CD environment very bloated, hard to configure, and just not ideal to work with. So I figured I could use <a href="https://podman.io" rel="noreferrer">podman</a> to build Docker images from Dockerfiles without using a fat Docker daemon.</p>
  
  <p>The problem is that <strong>podman</strong> is so new that I have not seen anyone attempt this before, nor I am enough of a podman expert to properly execute this.</p>
  
  <p>So, using the <a href="https://github.com/containers/libpod/blob/master/install.md#ubuntu" rel="noreferrer">podman installation instructions for Ubuntu</a> I created the following Dockerfile:</p>
  
  <pre><code>FROM ubuntu:16.04
  
  RUN apt-get update -qq \
      &amp;&amp; apt-get install -qq -y software-properties-common uidmap \
      &amp;&amp; add-apt-repository -y ppa:projectatomic/ppa \
      &amp;&amp; apt-get update -qq \
      &amp;&amp; apt-get -qq -y install podman
  
  # To keep it running
  CMD tail -f /dev/null
  </code></pre>
  
  <p>So I built the image and ran it as follows:</p>
  
  <pre class="lang-sh prettyprint-override"><code># Build
  docker build -t podman:ubuntu-16.04 .
  
  # Run
  docker run --name podman -d podman:ubuntu-16.04
  </code></pre>
  
  <p>Then when running this command on the running container, I get an error:</p>
  
  <pre class="lang-sh prettyprint-override"><code>$ docker exec -ti podman bash -c "podman info"
  
  ERRO[0000] 'overlay' is not supported over overlayfs
  Error: could not get runtime: 'overlay' is not supported over overlayfs: backing file system is unsupported for this graph driver
  </code></pre>
  
  <p>I install podman on an Ubuntu 16.04 machine I had and ran the same <code>podman info</code> command I got the expected results:</p>
  
  <pre class="lang-sh prettyprint-override"><code>host:
    BuildahVersion: 1.8-dev
    Conmon:
      package: 'conmon: /usr/libexec/crio/conmon'
      path: /usr/libexec/crio/conmon
      version: 'conmon version , commit: '
    Distribution:
      distribution: ubuntu
      version: "16.04"
    MemFree: 2275770368
    MemTotal: 4142137344
    OCIRuntime:
      package: 'cri-o-runc: /usr/lib/cri-o-runc/sbin/runc'
      path: /usr/lib/cri-o-runc/sbin/runc
      version: 'runc version spec: 1.0.1-dev'
    SwapFree: 2146758656
    SwapTotal: 2146758656
    arch: amd64
    cpus: 2
    hostname: jumpbox-4b3620b3
    kernel: 4.4.0-141-generic
    os: linux
    rootless: false
    uptime: 222h 46m 33.48s (Approximately 9.25 days)
  insecure registries:
    registries: []
  registries:
    registries:
    - docker.io
  store:
    ConfigFile: /etc/containers/storage.conf
    ContainerStore:
      number: 0
    GraphDriverName: overlay
    GraphOptions: null
    GraphRoot: /var/lib/containers/storage
    GraphStatus:
      Backing Filesystem: extfs
      Native Overlay Diff: "true"
      Supports d_type: "true"
      Using metacopy: "false"
    ImageStore:
      number: 15
    RunRoot: /var/run/containers/storage
    VolumePath: /var/lib/containers/storage/volumes
  </code></pre>
  
  <p>Does anyone know how I can fix this error and get podman working from a container?</p>