我有 3 台服务器和几个使用这些服务器的团队。他们想要使用具有不同设置的不同发行版(Ubuntu、Debian...)。由于任务原因,无法使用虚拟机。有没有办法在每台计算机上使用应用相同设置的每个系统?因此,如果我在 Server1 上的 Ubuntu 上安装某些东西,第二天我在 Server2 上使用 Ubuntu,一切都会在那里。
网络启动似乎是一个不错的选择,但我不知道如何保存更改(如果可能的话)。我们可以在每台服务器上安装每个系统,但如何保持它们同步呢?
答案1
对于您想要做的事情,听起来您希望每个“功能单元”都有 docker 容器。它无法解决“我今天从 CLI 安装了一个应用程序”的问题。它确实解决了“我们需要每个盒子都可以部署在任何可用硬件上”的问题。
您可以将手动安装的应用程序保存在共享文件夹中,但这意味着它们必须是整体安装或每个应用程序的容器。如果您使用 AWS,您还可以使用 AMI 来实现此目的。
这意味着硬件并不重要,但以“正确的方式”设置一切需要初始成本。项目越复杂,获取单个工作容器就越复杂,相互依赖关系也就越复杂。
举个例子,这玩具项目是一种非常好的做事方式。因此,如果您的 nginx 人员喜欢 alpine,但您的 sanic 人员喜欢 debian,而您的 postgres 人员喜欢 ubuntu - 容器只是源自不同的模板,并且可以随时从一台机器移动到另一台机器。
同样,这意味着从一开始就从“可部署映像”开始。随着时间的推移,确定可部署映像所需的内容变得越来越困难。