-2

我已经开发了一个应用程序并正在使用 docker 来构建它。我想将它作为 VMware OVF 软件包提供。我有哪些选择?我如何发布它以便客户可以在他们的 VMware 环境中部署它?

此外,我正在使用一个基本的 Ubuntu 映像并在其上安装了 NodeJS、MongoDB 和其他依赖项。但我想将基于 NodeJS 的应用程序和 MongoDB 数据库配置为我打算发布的包中的服务。我知道如何在普通虚拟机上使用 init.d 将这些配置为服务。我如何在 Docker 中解决这个问题?我应该将我的 init.d 文件放在我的应用程序文件夹中并在构建期间将它们复制到 Docker 容器中吗?还是有更好的方法?

感谢任何建议。

更新:

我问这个问题的原因是 - 我的目标用户不一定需要知道 docker。对于没有 docker 经验的人来说,该应用程序应该易于部署。在单个 VM 中使用所有服务可以轻松解决问题。如上,所有日志文件将保存在 /var/log 目录中,用于不同的服务,我们可以一次看到所有不同服务的状态。而不是用户必须查看每个 docker 服务。并且可能解决 docker 本身的问题。

但同时我觉得用 docker 方式构建应用程序很方便。

4

1 回答 1

-1

VMwarevApps通常由多个运行的 VM 组成以提供服务。他们可能有启动依赖等。

现在使用docker您可以将这些虚拟机作为容器在单个docker host虚拟机上运行。因此,单个 VM 无需vAPP.

另一方面,容器化理念要求我们使用微服务。在您的情况下进行简短说明,将每个服务放在一个单独的容器中。然后编写一个docker compose文件以启动容器并将其放入启动中。之后,您可以制作一个OVFdocker 主机 VM 并发布它。

我认为更好的方法是创建docker images,将它们放入您的repository并让客户拉动它们。然后docker compose为他们提供文件。

于 2016-10-29T06:25:44.530 回答