目录
虽然之前也用过docker搭建环境,但都比较简单,对docker的设计理念和用法也没多少了解,所以遇到了这次报错。
我最初想用 VM 搭建测试环境,但物理机内存有限,所以为了节省资源,下载了 CentOS 7 的镜像启动,安装 nginx 服务器后像以往通过 systemctl 命令管理服务,结果出下面的报错信息:
[root@47e9a4c3d6a7 /]# systemctl status nginx Failed to get D-Bus connection: Operation not permitted
又试了几次还是这样,百思不得其解,我一脸黑人问号,操作好像没问题啊
解决方法
退出 CentOS 7 容器,用 root 权限停止运行,然后把容器删掉
docker stop centos7
docker rm centos7
以特权模式运行容器,添加参数 --privileged=true,entrypoint 设置为 /usr/sbin/init
docker run -itd --name centos7 --privileged=true centos:centos7 /usr/sbin/init
安装好 nginx ,再次运行 systemctl 命令


文章讲述了在Docker中遇到FailedtogetD-Busconnection错误的原因,即Docker默认不启动D-Bus服务以保持轻量性。解决方法包括退出容器、使用--privileged参数启动特权模式以及配置entrypoint以启动systemd。
2797

被折叠的 条评论
为什么被折叠?



