Dockerfile:
...
VOLUME [ “/sys/fs/cgroup” ]
CMD ["/usr/sbin/init"]
我建立&在Centos7上运行我的centos7 docker容器。
$ docker run --privileged -ti -d -e“container = docker”--name centos7-server -v / sys / fs / cgroup:/ sys / fs / cgroup centos7:81ee535 的 / usr / sbin目录/初始化
之后,输入以下表达
$ docker stop centos7-server
..永远循环..
如果/ usr / sbin / init到/ bin / bash,centos7-server停止运行(成功)。
但是,我想在centos7-server容器中使用systemd ..
可能导致问题的原因是什么?
答案 0 :(得分:0)
sbin/init
程序(也称为init)协调引导过程的其余部分并为用户配置环境。
使用CentOS docker,init始终在CMD / ENTRYPOINT
之前执行。因此,将init用作 COMMAND
或ENTRYPOINT
是没有意义的。
明确地说,不要担心init。不要使用docker run
或docker exec
启动它,因为它无论如何都要执行。
init程序通过在适当的rc目录中查找指定为/ etc / inittab中的缺省值的运行级别来启动所有后台进程。 rc目录编号为对应于它们所代表的运行级别。例如,/ etc / rc.d / rc5.d /是运行级别5的目录。因此,除非你关闭系统,否则没有意义停止它。