我有一个AngularJS前端项目,该项目在nginx上运行并与后端java服务器通信(与该代码库分开)。我发现自己正在运行以下命令来安装软件包:
# make sure node, npm, and gulp are installed
npm install
gulp watch
应该将以上内容码头化,还是最好通过命令运行这些项目。在开发过程中,代码将在本地进行修改(因此,我们可能需要配置一个映射到项目目录的卷)。
相对于仅运行上述命令以启动项目,对上述内容进行docker化有什么优点或缺点?此处的主要目标是减少新开发人员开始/适应项目所需的时间。
答案 0 :(得分:1)
我现在能想到的唯一好处就是为什么您想对这个应用程序进行docker化的原因是,您希望其他人能够更轻松地部署该应用程序(唯一的依赖项是Docker并可以访问一个存储任何已构建容器的存储库)。也就是说,他们只需发出docker run命令并引用application / build标记,便拥有一个正在运行的容器化应用程序。
我可以预见的另一个可能的好处是跨目标环境的系统的可移植性。唯一的依赖关系再次是Docker。
然后,您将获得自动容器构建支持的附加好处,其中包括版本控制。
还请注意,如果您想脱离本地主机开发,则可以设置一个远程SCM来存储代码/ Dockerfile,以自动进行构建/部署。
如果您的主要目标是减少新开发人员开始/熟悉项目所需的时间,那么您将面临的最大问题是操作系统(使用Windows / Linux)。 Docker的替代解决方案是使用Vagrant。