我有一个商业应用程序,它是在chroot环境中提供的:启动脚本正在制作chroot,并启动exe。
应用程序非常复杂,而且出于支持目的,我不想改变所有环境。
是否可以运行chroot,并在docker中启动服务?或两者不相容?
答案 0 :(得分:4)
可以在容器内制作chroot ......但是,正如" debootstrap inside a docker container"中所述,您可能需要run with the privileged mode。
docker run --privileged
默认情况下,Docker容器是“非特权”的,例如,不能在Docker容器内运行Docker守护程序。
这是因为默认情况下不允许容器访问任何设备,但“特权”容器可以访问所有设备。
有huge discussion for requesting docker to support privileged operations 到目前为止,它还没有发生。
答案 1 :(得分:1)
选项--cap-add=SYS_CHROOT
应该可以完成工作。
答案 2 :(得分:0)
如上所述,为了在Docker中使用chroot,您需要具有提升的权限。你可以做什么,而不是直接使用chroot是使用一个名为Coffer的程序。保险箱本质上是一个整齐的包装机,可以为您提供所有繁重的工作。