Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 作为OVF的Ship docker图像_Node.js_Docker_Vmware_Dockerfile_Ovf - Fatal编程技术网

Node.js 作为OVF的Ship docker图像

Node.js 作为OVF的Ship docker图像,node.js,docker,vmware,dockerfile,ovf,Node.js,Docker,Vmware,Dockerfile,Ovf,我已经开发了一个应用程序,正在使用docker来构建它。我希望将其作为VMware OVF软件包提供。我有什么选择?我如何发布它,以便客户能够在其VMware环境中部署它 我还使用了一个基本的Ubuntu映像,并在上面安装了NodeJS、MongoDB和其他依赖项。但我想将基于NodeJS的应用程序和MongoDB数据库配置为我打算发布的包中的服务。我知道如何在普通VM上使用init.d将这些配置为服务。我在Docker怎么办?我应该将init.d文件放在我的应用程序文件夹中,并在构建期间将它们

我已经开发了一个应用程序,正在使用docker来构建它。我希望将其作为VMware OVF软件包提供。我有什么选择?我如何发布它,以便客户能够在其VMware环境中部署它

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

谢谢你的建议

更新:

我问这个问题的原因是——我的目标用户不一定知道docker。对于没有docker经验的人来说,应用程序应该很容易部署。由于所有服务都在一个VM中,因此很容易解决问题。与中一样,所有日志文件将保存在不同服务的/var/log目录中,我们可以一次看到所有不同服务的状态。而不是用户必须查看每个docker服务。可能是docker本身的故障排除


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

VMware
VAPP
通常由多个运行的虚拟机组成,以提供服务。它们可能具有启动依赖性等

现在使用
docker
可以将这些虚拟机作为容器运行在单个
docker主机上。因此,单个虚拟机不再需要
vAPP

另一方面,集装箱运输哲学要求我们使用微服务。在您的案例中进行简短的解释,将每个服务放在一个单独的容器中。然后编写一个
docker compose
文件,将容器带到启动状态。之后,您可以制作docker主机VM的
OVF
,并将其发送


在我看来,一个更好的方法是创建
docker图像
,将它们放入
存储库
,让客户提取它们。然后为他们提供
docker compose
文件。

感谢您的澄清!