initctl:无法连接到Upstart:无法连接到套接字/ com / ubuntu / upstart:docker image中的连接被拒绝

时间:2019-01-07 03:37:27

标签: docker centos centos6

我得到了

$ sudo initctl list
initctl: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused

在具有

的docker映像上
$ 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。

1 个答案:

答案 0 :(得分:1)

您应该大致假设initctl(以及systemctlservice)之类的命令在Docker中不起作用。如果您尝试在运行中的Docker容器中以交互方式启动某些新服务,那通常不是最佳做法:您需要编写一个Dockerfile来使服务在容器启动时自行启动,通常只需运行服务器作为前台进程。

一个Docker容器运行一个一个进程(及其子进程)。通常,这不是init类型的过程。如果您docker run --rm -it centos:6得到一个GNU bash shell,则该shell是容器中正在运行的 only 进程。 Upstart,systemd和它们启动的各种其他系统守护程序将不存在。 (尝试在您的shell中使用ps -e进行查看。)

如果您的实际问题是“我的CentOS 6容器中正在运行Upstart管理的服务”,答案是“无”。