以守护进程模式运行 docker 与 systemctl start docker 有什么区别?

Joe*_*key 6 daemon docker

dockerd使用和启动 docker 守护进程有什么区别systemctl start docker?你什么时候会使用其中一种而不是另一种?

lar*_*sks 5

一个可能并不全面的列表:

  • 您可以将 systemd 配置为在系统启动时运行 docker ( systemctl enable docker)。
  • 如果您使用 systemd 启动服务,您可以询问 systemd 是否正在运行 ( systemctl status docker),并且答案是权威的(与运行诸如 之类的东西相比ps | grep dockerd,它可能会返回误报)。
  • 如果使用systemd启动服务,则systemd可以在失败时自动重新启动它。
  • 在 systemd 下运行服务时,stdout/stderr 的输出会收集在系统日志中,以便您可以通过 找到它journalctl -u docker
  • systemd 单元可以应用资源限制来改善 dockerd 的行为(例如,删除对文件数量、进程数量等的限制)