How to mount /proc in Docker Container

  docker, docker-build, dockerfile, linux, procfs

Why can’t I mount the /proc device from the container during the build process?

If I run docker build -t test . with this Dockerfile:

FROM debian:stable-slim
RUN bash -c 'ls {/proc,/dev,/sys}'

I can see that all special devices are populated. But if I try this Dockerfile:

FROM debian:stable-slim
RUN bash -c 'ls {/proc,/dev,/sys}'
RUN mount --bind /proc /mnt

I get the following error:

mount: /mnt: permission denied.
The command '/bin/sh -c mount --bind /proc /mnt' returned a non-zero code: 32

I know it’s possible to use --privileged mode in docker run, but my goal is not to access the host’s /proc but to just mount the /proc device from container in a file system that I’m generating inside the container with debootstrap. So that I can install some packages, specifically default-jre.

My Docker Version: 20.10.8

Source: Docker Questions