最近开始折腾容器,用的操作系统是CentOS 7.4的版本,在容器里安装了openssh,查看sshd状态的时候使用systemctl 命令,直接就报错了。

[root@f60902db3221 /]# systemctl status sshd
Failed to get D-Bus connection: Operation not permitted

网上说在CentOS 7.2会修复,这都7.4了。

找了好一会,才找到解决方法,记录一下。
使用以下命令来创建容器

docker run -it -d --privileged --name NAME IMAGE_ID /usr/sbin/init

其中,NAME是你指定的容器命名,IMAGE_ID是你创建容器使用的镜像。
然后再额外启动一个/bin/bash进入容器,

docker exec -it NAME /bin/bash

NAME是你刚刚创建的容器名称,这样就能正常使用systemctl命令了。

[root@69fd910ffce5 /]# cat /etc/redhat-release 
CentOS Linux release 7.4.1708 (Core) 
[root@69fd910ffce5 /]# systemctl status sshd
● sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2018-05-18 07:34:45 UTC; 28min ago
     Docs: man:sshd(8)
           man:sshd_config(5)
 Main PID: 81 (sshd)
   CGroup: /system.slice/docker-69fd910ffce5195674b277e9ad88820fa12ad4a94c80656dec336cba02c60f7b.scope/system.slice/sshd.service
           └─81 /usr/sbin/sshd -D

May 18 07:34:45 69fd910ffce5 systemd[1]: Starting OpenSSH server daemon...
May 18 07:34:45 69fd910ffce5 sshd[81]: Server listening on 0.0.0.0 port 22.
May 18 07:34:45 69fd910ffce5 sshd[81]: Server listening on :: port 22.
May 18 07:34:45 69fd910ffce5 systemd[1]: Started OpenSSH server daemon.
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐