Dockerfile 构建失败,因为 PPA 需要 upstart

Dockerfile build fails because PPA requires upstart

我想在 Dockerfile 构建中安装 PPA。 PPA 包括对 upstart 的调用,具体来说,PPA postinst 脚本启动一个服务,然后做一些其他工作,要求该服务处于 运行ning 状态。 Dockerfile构建失败,因为服务没有启动。

显然正在发生的事情是新贵被 Docker/Moby 取代,因此任何此类调用都不能 运行 除了作为入口点。 参见:Running services (upstart/init.d) in a container

一个可能的解决方案是使用 phusion/baseimage 但 PPA 需要 Ubuntu 14.04 并且 phusion 固定在 Ubuntu 16.

我错过了什么?

Docker 并非真正设计用于 运行 upstart/systemd 服务,它旨在直接在前台启动服务。

如果您的软件包依赖于 upstart,也许您不应该使用该软件包,而应该在 Docker 文件中执行 manual installation