systemd和systemctl在Ubuntu Docker映像中
  看起来systemd在Ubuntu Docker映像中不是活动的或可用的。 
  我从ubuntu:16.04和ubuntu:16.10映像运行Docker容器。 
  如果我在16,04容器中执行systemctl status ssh ,结果是错误Failed to connect to bus: No such file or directory 。  在16.10容器中,错误是bash: systemctl: command not found 。 
  如果我在16.04容器中找到which systemctl systemctl而不是在16.10容器中找到which systemctl systemctl。 
  我发现/lib/systemd存在。 
  我已经尝试使用apt-get install systemd libpam-systemd systemd-ui 。  然后which systemctl发现systemctl在16.10 ,但systemctl status ssh仍然给出了错误Failed to connect to bus: No such file or directory 
我的主要问题是:如何激活systemd和systemctl以在Ubuntu Docker映像中使用?
为什么systemd在Ubuntu Docker容器中不活跃? systemd没有用于实例化容器?
  我没有找到关于Ubuntu / Ubuntu Docker镜像的任何文档,只有关于从Upstart到systemd的Ubuntu转换的信息。  有没有任何文件给出完整的解释? 
这是设计。 Docker应该在容器的前台运行一个进程,并且它将在容器的pid命名空间中生成为PID 1。 Docker专为进程隔离而设计,而不是用于操作系统虚拟化,因此在容器内部没有其他操作系统进程和守护进程(如systemd,cron,syslog等)运行,只有您运行的入口点或命令。
如果他们包含systemd命令,你会发现许多事情因为你的入口点取代init而无法使用。 Systemd也可以用于cgroups,因为更改cgroups的能力可以允许进程逃避容器的隔离,所以docker会限制容器内部。 没有systemd作为你的容器中的init运行,没有守护进程来处理你的启动和停止命令。
链接地址: http://www.djcxy.com/p/18207.html