neam/docker-stack

用于维护基于 Docker 的 "每个容器一个进程" 的 12 因素 Web 应用程序的工具包。

0.4.0 2018-02-20 14:04 UTC

This package is not auto-updated.

Last update: 2024-09-14 16:13:38 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

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

对于 DevOps

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

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

堆栈

在本地构建 Docker 堆栈镜像

常见问题解答

什么是堆栈?

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

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

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

许可

MIT

致谢

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