如何将dockerized app发送给客户端?

时间:2015-08-11 17:22:12

标签: docker

我的应用程序包括Web服务器(node.js),多个worker(node.js)和Postgres数据库。通常情况下,我只需使用postgres插件在heroku上创建应用程序,然后使用Procfile中定义的进程推送应用程序。

然而,客户希望将应用程序通过docker传送到他的私人服务器。所以流程应该如下所示:我在我的node.js应用程序(在工作人员的Web服务器上)进行了一些更改,“推送”更改为repo(docker hub?)和客户端,当他准备好“拉”更改的应用程序(图像) ?)他的服务器和应用程序(docker容器?)重新启动新的更新代码。

我是docker的新手,甚至在阅读了几篇文章/教程之后我也不确定如何使用docker ......

理想情况下,如果会有一个包含我的应用程序代码的docker镜像(在docker hub中),数据库和客户端可以以某种方式拉动它并运行它...是否可以使用docker?

1 个答案:

答案 0 :(得分:4)

标准策略是将系统的每个组件打包到单独的docker镜像(这称为微服务架构),然后创建一个“业务流程” - 一组用于部署,启动/停止和更新的脚本。

例如:

  • 部署脚本从docker repo(Docker Hub或您的私人仓库)中提取图像并调用启动脚本
  • 启动脚本只对每个组件docker run执行
  • 停止每个组件的脚本调用docker stop
  • 更新脚本调用停止脚本,然后从repo更新图像,然后调用启动脚本

互联网上有一些旨在简化业务流程的软件项目,例如: this所以答案有一个全面的清单。但通常普通的bash脚本工作正常。