Web applications 码头工人或流浪汉是安全的解决方案吗;一揽子计划;网络应用程序?
我在一家既不做网络开发也不做系统管理的公司里,在一个网络应用程序上实习此应用程序位于备份服务器上(用作时间机器驱动器的Mac Mini),我在那里安装了MEAN stack和其他一些需要的工具 由于该公司不太懂技术,可能有朝一日会弄乱软件,我想知道是否可以将应用程序“打包”到Docker或Vagrant容器中,在设置了所有工具和配置的情况下,用一个命令重新启动它,同时,在应用程序应该安装在另一台机器上的情况下,使其可移植Web applications 码头工人或流浪汉是安全的解决方案吗;一揽子计划;网络应用程序?,web-applications,docker,vagrant,Web Applications,Docker,Vagrant,我在一家既不做网络开发也不做系统管理的公司里,在一个网络应用程序上实习此应用程序位于备份服务器上(用作时间机器驱动器的Mac Mini),我在那里安装了MEAN stack和其他一些需要的工具 由于该公司不太懂技术,可能有朝一日会弄乱软件,我想知道是否可以将应用程序“打包”到Docker或Vagrant容器中,在设置了所有工具和配置的情况下,用一个命令重新启动它,同时,在应用程序应该安装在另一台机器上的情况下,使其可移植 TL;DR我可以将web应用程序及其堆栈打包到Docker/Vagran
TL;DR我可以将web应用程序及其堆栈打包到Docker/Vagrant容器中,使其易于安装和运行吗?检查您可以设置它,以便所有内容都在一个命令中运行
docker-compose-up
简言之,至少对于流浪汉来说,答案是否定的。对于docker,也许是,但是
然而,您真正想要的似乎是一个资源调配工具——Docker和Vagrant都不是。你的需求听起来更像是厨师、食盐、木偶等。这些都是对Docker和Vagrant的补充——其中一个加上一个Docker容器,因为最终的结果就像你场景中的教科书示例
我是否可以将web应用程序及其堆栈打包到Docker/Vagrant容器中,使其易于安装和运行
是的,他们两个都有
流浪汉
首先,Vagrant不是我最喜欢的解决方案,但您可以这样做:您可以编写一个Vagrant文件来提取您想要的Linux映像,安装您的东西(例如Tomcat或NGINX服务器),配置所有内容(文件夹结构、打开的端口),并将最终应用程序复制到映像(例如WAR文件)。现在,您在VM映像中获得了所需的一切,您可以共享此映像,使您的公司能够运行您的应用程序
赞成的意见
- 一切都在一个图像上
- 如果映像运行并且您的公司出现问题,他们可以轻松地连接到VM(通过SSH)并修复它
- 图像可能非常大(许多GB)
- 如果您使用Vagrant,您通常会将Vagrant文件共享给其他人,而不是它构建的VM映像(但这不是您想要的)
- 与VM映像相比,更小的映像(参见上文)
- Docker就是为了这个目的而设计的(将准备好运行的图像共享给其他人)
- 如果你在应用程序运行时遇到问题,可能更难修复,因为你需要构建一个新的映像
如果你的公司真的对科技产品知之甚少,那就要小心了。每一个新工具(即使它和Docker一样有用)对他们来说都是值得学习和维护的新东西。你应该阅读感谢托马斯。当我在OSX上尝试Docker时,它在虚拟机中启动了
boot2docker
,我告诉自己在虚拟机上运行虚拟机会有点重,那么为什么不在普通的虚拟机上运行并安装应用程序呢?最后我做了这样一件事:VirtualBox上的无头Debian8,如果出现问题,它会启动boot上的所有东西。只需点击一下,虚拟机就启动了,应用程序也准备好了。它不需要便携,只需打包,并且易于运行。