我的应用程序包括Web服务器(node.js),多个worker(node.js)和Postgres数据库。通常情况下,我只需使用postgres插件在heroku上创建应用程序,然后使用Procfile
中定义的进程推送应用程序。
然而,客户希望将应用程序通过docker传送到他的私人服务器。所以流程应该如下所示:我在我的node.js应用程序(在工作人员的Web服务器上)进行了一些更改,“推送”更改为repo(docker hub?)和客户端,当他准备好“拉”更改的应用程序(图像) ?)他的服务器和应用程序(docker容器?)重新启动新的更新代码。
我是docker的新手,甚至在阅读了几篇文章/教程之后我也不确定如何使用docker ......
理想情况下,如果会有一个包含我的应用程序代码的docker镜像(在docker hub中),数据库和客户端可以以某种方式拉动它并运行它...是否可以使用docker?
答案 0 :(得分:4)
标准策略是将系统的每个组件打包到单独的docker镜像(这称为微服务架构),然后创建一个“业务流程” - 一组用于部署,启动/停止和更新的脚本。
例如:
docker run
执行docker stop
互联网上有一些旨在简化业务流程的软件项目,例如: this所以答案有一个全面的清单。但通常普通的bash脚本工作正常。