你如何安装需要在Dockerfile中重新启动的东西?

假设我有如下的安装说明:

  1. 做一点事。
  2. 重新启动你的机器。
  3. 做别的事。

我如何在Dockerfile中expression这一点?

这完全取决于为什么他们需要重新启动。 对于Linux来说,重新启动机器通常会指示内核修改,尽pipe可能会更简单,如更改用户权限(这将通过注销并返回)。 如果安装尝试将操作系统级别更改为内核,则在容器内完成操作时,该操作应该失败。 默认情况下,容器将隔离并限制应用程序可以对正在运行的主机操作系统执行哪些操作,这会影响主机或其他运行的容器。

如果重新引导强制重新启动应用程序服务,则应该意识到此devise无法很好地映射到容器,因为每个RUN命令都在隔离的环境中运行该命令。 而且通过只运行这个命令,这也表明通常在OS引导(cron,sendmail或者你的应用程序)上启动的任何OS服务都不会在容器中启动。 因此,除了重新启动任何相关服务之外,还需要find一种运行安装命令的方法。

我能想到的最后一个场景是他们希望不同的用户权限对login用户生效。 在这种情况下,下一个RUN命令将运行所请求的命令,其中任何更改的访问都来自之前的RUN命令。 因此,无需执行任何特定的重新启动操作,只需执行安装步骤,就好像每个步骤之间有完全重新启动一样。