run chroot within docker

12,978

Solution 1

It is possible to make a chroot inside a container... but, as mentioned in "debootstrap inside a docker container", you might need to run with the privileged mode.

docker run --privileged

By default, Docker containers are “unprivileged” and cannot, for example, run a Docker daemon inside a Docker container.
This is because by default a container is not allowed to access any devices, but a “privileged” container is given access to all devices.

There was a huge discussion for requesting docker to support privileged operations.
So far, it is not happening.

Solution 2

Option --cap-add=SYS_CHROOT should do the job.

Share:
12,978
OpenStove
Author by

OpenStove

Updated on June 04, 2022

Comments

  • OpenStove
    OpenStove almost 2 years

    I've a commercial app, that is shipped in a chroot environment : the startup script is making the chroot, and starting the exe.

    The App is pretty complex, and also for support purposes, I don't want to change the all environment.

    Is it possible to run chroot, and start the service in docker ? Or are the two incompatible ?

  • OpenStove
    OpenStove over 8 years
    How would you incorporate this in a supervisor configuration ? : - I need to make the chroot, - Then start 3 skripts
  • VonC
    VonC over 8 years
    @OpenStove Have a look at github.com/phusion/baseimage-docker which is using a supervisor-like mechanism (I described it in stackoverflow.com/a/33119321/6309). You would still need to run the container in privieged mode though.