首页 文章

docker 1.9.1 ,,不会停止docker容器

提问于
浏览
1

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 / init

之后,输入以下表示赞扬

$ docker stop centos7-server

..永远循环..

如果/ usr / sbin / init到/ bin / bash,centos7-server停止运行(成功) .

但是,我想在centos7-server容器中使用systemd ..

什么可能导致问题?

1 回答

  • 0

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

    使用CentOS docker,init始终在 CMD / ENTRYPOINT 之前执行 . 所以, it has no sense to use init as COMMANDENTRYPOINT .

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

相关问题