docker - docker 1.9.1,不会停止docker容器

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



之后,下面的建议

$ docker stop centos7-server



..永远循环..

如果将/ usr / sbin / init初始化为/ bin / bash,则centos7-server将被成功停止(成功)。

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

是什么原因引起的?

最佳答案

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的目录。因此,除非您关闭系统,否则将其停止是没有意义的。

关于docker - docker 1.9.1,不会停止docker容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37853575/

相关文章:

docker - 我们如何使用dpkg在dockerfile中的 Alpine 图像上安装google-chrome-stable?

android - 从主机连接到在 docker 容器内运行的 Android 模拟器

php - 无法在 CentOS 7 上的 PHP 中打开 file_put_contents 上的流

python - 关闭pycharm容器的正确方法

docker - 如何在基于Alpine的容器中安装rar?

c++ - 按引用传递或按值传递指针容器之间的区别

c++ - 将对象指针 vector 传递给类 (C++)

containers - 如何在部署时使用 Kubernetes 为 Pod 分配静态 IP

centos - 百胜更新错误

nginx - 如何在没有网络连接的CentOs7上以root权限安装Nginx?