求助,centos7镜像创建的容器里面安装服务后,无法使用命令启动服务


[root@1a7e1970060a /]# systemctl start sshd

Failed to get D-Bus connection: Operation not permitted

求助,centos7镜像创建的容器里面安装服务后,无法使用命令启动服务
已邀请:

bnuhero - 读书喝茶踢球写程序

赞同来自: CullenX


升级到最新的 CentOS 7.2 镜像能解决这个问题:Fixing CentOS 7 systemd conflicts with docker

adolphlwq - https://blog.adolphlwq.xyz

赞同来自:


首先恭喜你遇到了centos:7镜像的大坑!
你的问题在stackoverflow上类似的讨论


Currently, systemd in CentOS 7 has been removed and replaced with a fakesystemd package for dependency resolution. This is due to systemd requiring the CAP_SYS_ADMIN capability, as well as being able to read the host's cgroups. If you wish to replace the fakesystemd package and use systemd normally, please follow the steps below.
上文是github centos官方镜像repo README.md的解释,大意是说原来的systemd会需要CAP_SYS_ADMIN,我们不想这样,就换成了fakesystemd,所以你会遇到上面奇葩的问题.当然官方repo也给出了解决方案不过比较复杂.

你可以使用/usr/sbin/sshd &来启动ssh服务.或者换成centos6系列的镜像.总之centos7镜像太坑.

这个问题我也遇到了.您可以参考下sequenceiq的dockerfile设计,这个是在centos6.5构建的镜像.

PS:这个问题困扰了我将近2天在弄明白.真是浪费时间.希望能帮助到您.

要回复问题请先登录注册