Docker 里面使用 systemctl 管理服务时候会出现这个问题,原因是权限不够,可以用下面两种方式对 Docker 赋予权限。
使用 docker run 增权:
启动镜像时使用:
docker run --privileged -d -it id /usr/sbin/init
# id 是启动镜像的id
# --privileged 和 /usr/sbin/init 必须指定
启动完成,使用下面命令进入 docker 就可以使用 systemctl 命令了。
docker exec -it id /bin/bash
参考连接:https://docs.docker.com/engine/reference/commandline/run/