将 docker 图像作为 OVF 发送
Ship docker image as an OVF
我开发了一个应用程序并正在使用 docker 构建它。我想将其作为 VMware OVF 包发布。我有哪些选择?我如何发布它以便客户可以将它部署到他们的 VMware 环境中?
我还使用了基础 Ubuntu 图像并安装了 NodeJS、MongoDB 和其他依赖项。但我想将基于 NodeJS 的应用程序和 MongoDB 数据库配置为我打算发布的包中的服务。我知道如何在普通 VM 上使用 init.d 将它们配置为服务。我如何在 Docker 中解决这个问题?我是否应该将我的 init.d 文件放在我的应用程序文件夹中,并在构建期间将它们复制到 Docker 容器中?或者有更好的方法吗?
感谢任何建议。
更新:
我问这个问题的原因是——我的目标用户不一定需要知道 docker。对于没有 docker 经验的人来说,该应用程序应该很容易部署。通过单个 VM 中的所有服务,可以轻松解决问题。同样,所有日志文件都将保存在不同服务的 /var/log 目录中,我们可以立即看到所有不同服务的状态。而不是用户必须查看每个 docker 服务。并且可能解决 docker 本身的问题。
但同时我觉得以 docker 方式构建应用程序很方便。
VMwarevApps
通常由多个VM运行提供一个服务。他们可能有启动依赖等
现在使用 docker
,您可以将这些虚拟机作为容器 运行 在单个 docker host
虚拟机上。因此,单个 VM 消除了 vAPP
.
的需要
另一方面,容器化理念要求我们使用微服务。针对您的情况进行简短说明,将每项服务放在一个单独的容器中。然后编写一个 docker compose
文件来启动容器并将其启动。之后,您可以为您的 docker 主机 VM 创建一个 OVF
并发布它。
我认为更好的方法是创建 docker images
,将它们放入您的 repository
,然后让客户拉动它们。然后为他们提供docker compose
文件。
我开发了一个应用程序并正在使用 docker 构建它。我想将其作为 VMware OVF 包发布。我有哪些选择?我如何发布它以便客户可以将它部署到他们的 VMware 环境中?
我还使用了基础 Ubuntu 图像并安装了 NodeJS、MongoDB 和其他依赖项。但我想将基于 NodeJS 的应用程序和 MongoDB 数据库配置为我打算发布的包中的服务。我知道如何在普通 VM 上使用 init.d 将它们配置为服务。我如何在 Docker 中解决这个问题?我是否应该将我的 init.d 文件放在我的应用程序文件夹中,并在构建期间将它们复制到 Docker 容器中?或者有更好的方法吗?
感谢任何建议。
更新:
我问这个问题的原因是——我的目标用户不一定需要知道 docker。对于没有 docker 经验的人来说,该应用程序应该很容易部署。通过单个 VM 中的所有服务,可以轻松解决问题。同样,所有日志文件都将保存在不同服务的 /var/log 目录中,我们可以立即看到所有不同服务的状态。而不是用户必须查看每个 docker 服务。并且可能解决 docker 本身的问题。
但同时我觉得以 docker 方式构建应用程序很方便。
VMwarevApps
通常由多个VM运行提供一个服务。他们可能有启动依赖等
现在使用 docker
,您可以将这些虚拟机作为容器 运行 在单个 docker host
虚拟机上。因此,单个 VM 消除了 vAPP
.
另一方面,容器化理念要求我们使用微服务。针对您的情况进行简短说明,将每项服务放在一个单独的容器中。然后编写一个 docker compose
文件来启动容器并将其启动。之后,您可以为您的 docker 主机 VM 创建一个 OVF
并发布它。
我认为更好的方法是创建 docker images
,将它们放入您的 repository
,然后让客户拉动它们。然后为他们提供docker compose
文件。