neam/dna-project-base-docker-toolkit

工具包,用于维护基于Docker的“每个容器一个进程”的堆栈,适用于12因子Web应用。

0.4.0 2018-02-20 14:04 UTC

This package is not auto-updated.

Last update: 2024-09-14 16:29:27 UTC


README

Neam Labs使用以下堆栈和镜像进行开发、构建、测试、部署和维护基于PHP+NodeJS的Web应用程序。

作为开源发布,以便其他项目可以使用和修改,或者在设置自己的基于Docker的堆栈架构时作为参考点和灵感来源。

此存储库中的堆栈和镜像经过验证,适用于本地开发和在AWS上使用Docker Cloud和高性能多节点设置。

要求

  • docker 17.12.0-ce (推荐17.12.0-ce+)
  • docker-compose 1.18.0 (推荐1.18.0+)
  • git

为什么首先使用基于Docker的堆栈?

Docker堆栈允许开发团队将用PHP、NodeJS、Java和Python中的任何组合编写的Web应用程序编织在一起,利用Docker化服务(数据库、邮件服务器、任务运行程序、消息队列等)。

对开发者来说

作为开发团队的一员,基于Docker的堆栈使您能够在保持类似于JavaScript应用程序强大的npm install + npm start组合的跨平台本地开发工作流程的同时,放弃Vagrant/Puppet/Chef。

docker-compose run php composer install
docker-compose up

因此,在涉及多个开发者的任何团队或项目中,都需要更少的时间和麻烦来运行本地项目软件,并且所有团队成员都将运行相同版本的底层操作系统包。

对运维来说

维护最佳实践的基于Docker的“每个容器一个进程”的堆栈和开发工作流程,用于您的12因子Web应用

然后可以将堆栈部署到任何docker主机/swarm,或通过Docker Cloud进行编排,提供高程度的开发和生产一致性。

堆栈

本地构建Docker堆栈镜像

常见问题解答

什么是堆栈?

堆栈是特定环境中构成应用程序的一组服务。堆栈文件是一个YAML格式的文件,定义一个或多个服务。YAML参考在此处记录。

堆栈是自动化部署相互连接的多个服务的便捷方式,无需逐个定义。

由于堆栈文件还定义了环境变量和相关环境特定配置,因此建议每个环境(dev、test、prod...)使用一个堆栈文件。

许可

MIT

致谢

此存储库与schmunk42共同创建,他现在在dmstr维护Docker堆栈镜像。