docker 1.9.1 ,,不会停止docker容器

时间:2016-06-16 08:17:23

标签: docker containers centos7

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 ..

可能导致问题的原因是什么?

1 个答案:

答案 0 :(得分:0)

sbin/init程序(也称为init)协调引导过程的其余部分并为用户配置环境。

使用CentOS docker,init始终在CMD / ENTRYPOINT之前执行。因此,将init用作 COMMANDENTRYPOINT是没有意义的。

明确地说,不要担心init。不要使用docker rundocker exec启动它,因为它无论如何都要执行。 init程序通过在适当的rc目录中查找指定为/ etc / inittab中的缺省值的运行级别来启动所有后台进程。 rc目录编号为对应于它们所代表的运行级别。例如,/ etc / rc.d / rc5.d /是运行级别5的目录。因此,除非你关闭系统,否则没有意义停止它。