我正进入(状态
$ sudo initctl list
initctl: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused
在具有
$ uname -a
Linux 7276b783e0bf 4.9.125-linuxkit #1 SMP Fri Sep 7 08:20:28 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
$ cat /etc/redhat-release
CentOS release 6.10 (Final)
有什么想法吗?我以为 CentOS6 默认使用 Upstart。
最佳答案
您应该大致假设 initctl
之类的命令(和 systemctl
和 service
)在 Docker 中不起作用。如果您尝试在正在运行的 Docker 容器中以交互方式启动一些新服务,这通常不是最佳实践:您需要编写一个 Dockerfile,使服务在容器启动时自行启动,通常只需运行服务器作为前台进程。
一个 Docker 容器运行一个进程(及其子进程)。通常这不是一个初始化类型的过程。如果您 docker run --rm -it centos:6
并获得一个 GNU bash shell,该 shell 是容器中运行的唯一进程。 Upstart、systemd 和它们启动的各种其他系统守护进程将不存在。 (尝试 ps -e
在你的 shell 中查看。)
如果您的实际问题是“我的 CentOS 6 容器中正在运行哪些 Upstart 管理的服务”,那么答案是“无”。
关于docker - initctl : Unable to connect to Upstart: Failed to connect to socket/com/ubuntu/upstart: Connection refused in docker image,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54068289/