docker里启动 sshd 报错"Failed to get D-Bus connection: Operation not permitted"

最近测试 MySQL分别跑在 docker 和 cgroup 的性能对比, 在 docker 里启动 sshd 时报错:

service sshd start
Redirecting to /bin/systemctl start sshd.service
Failed to get D-Bus connection: Operation not permitted

问了下系统内核组同事,他解释说:因为1号进程是bash,不是systemd,所以通过 systemd 启动 sshd 服务不行;可以看看sshd.service 这里是什么命令参数,直接后台运行 sshd 这个二进制程序就行;最后成功起来,相关命令如下:

yum install openssh-server -y
/usr/sbin/sshd-keygen
/usr/sbin/sshd -D &
passwd root