Docker Compose适合用于生产环境吗?

48

我很喜欢将应用程序模块化为容器(如数据库、前端和后端...)。然而,根据Docker文档“Compose非常适合开发、测试和暂存环境”。 这句话没有提到生产环境。因此,我在这里感到困惑。

是更好地使用Dockerfile从头构建生产镜像并在其中安装所有的LAMP堆栈等吗? 或者使用docker-compose.yml构建生产环境?有没有任何原因(额外开销、链接等)导致Docker没有明确表示Compose非常适合生产环境?

2个回答

61

实际上,你需要在你的情况下定义“production”。

Compose通过单个命令简单地启动和停止多个容器。它没有添加任何与常规docker命令不同的混合内容。

如果“production”是一个单独的docker主机,并且定义了所有实例和关系,则Compose可以实现这一点。但是,如果您想要跨群集进行多个主机和动态扩展,则实际上需要考虑Swarm或另一个选项。


2
是的,正确的,并且赞同这一点。但是,也可以针对Swarm集群使用Compose。 - Rogério Peixoto

15

只是为了扩展@ChrisSainty已经提到的,compose只是一个编排工具,您可以在单个主机上使用自己构建的Dockerfiles与compose设置一起使用。但请注意,它可能会针对群集进行组合,因为它公开了与单个Docker主机相同的API。

在我看来,这是一种使用容器实现微服务架构的简单方法,以定制高效可用性的服务。此外,我建议查看此官方文档,了解在生产环境中使用compose的良好实践。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接