拆下未使用的Dokku容器(并在访问时旋转它们)

当应用程序没有被访问一天时,Heroku会将容器转换为免费账户。 对于部署在Dokku上的我们的系统,我们有生产,登台以及运行相同应用程序的开发人员容器。 今天我注意到一个Dokku应用无限期地挂在我们的开发虚拟机上。 经过调查,我发现这个问题是由于虚拟机内存不足造成的。 我杀了几个容器后,容器启动成功。 作为参考,现在在我们的开发箱中已经部署了近60个容器,但是其中只有5个正在被积极使用。 通常,我们的开发人员在testing时会部署同一个应用程序的多个版本。 有时这些应用程序不再需要(在这种情况下,我们可以简单地删除它们),但是更多的时候,他们需要在一两个星期后再次访问。

为了节省我们虚拟机的资源,我们希望减less开发容器,特别是因为可能有同一个应用程序的多个实例。

Dokku可能吗? 如果我简单地停止一段时间没有被访问的容器(使用docker stop命令),稍后访问应用程序的用户将会看到一个404页面。 我想要做的是向用户显示加载图标,直到容器再次旋转。

简单地用dokku命令,这暂时是不可能的。 也许你可以使用ps:stop并尝试类似于如果在nginx上发现502错误,然后尝试运行启动应用程序的shell脚本,但这当然会给用户第一次502错误。