Docker容器里使用systemctl命令报错(System has not been booted with systemd as init system)

起因是这样:我当前已进入Docker容器里面,在容器的操作系统(centos7)使用systemctl命令的时候,出错了,错误信息:System has not been booted with systemd as init system (PID 1). Can't operate.

如:systemctl status keepalived

问题原因:

我启动centos容器的命令是:

docker run -itd --name centos_java_nginx hejianliang/centos:java_nginx /bin/bash

需要改为:

docker run -itd --name centos_java_nginx --privileged=true hejianliang/centos:java_nginx /sbin/init

在原命令上加了 --privileged=true,修改/binbash  为 /sbin/init (重点)

修改过后,重新运行就可以在容器里正常使用systemctl命令了



原文地址:https://www.cnblogs.com/hejianliang/p/13959650.html