docker-swarm vs.docker-在生产中的单个主机上编写
docker-swarm vs.docker-compose on single host in production
是否有理由使用 docker-swarm
而不是 docker-compose
在生产中部署单个主机?
我目前正在重写现有的应用程序。我的前任使用 docker-swarm 设置应用程序。但我不明白为什么:应用程序将只包含一个主机 运行 几个服务。这些服务将仅通过 REST-Api 向 kubernetes 集群提供客户网络上的一些本地信息(因此没有真正的负载或添加额外主机的理由)。
我浏览了 Docker 网站,除了在单主机开发环境中测试部署外,找不到使用 docker-swarm
部署单主机的理由。
与 docker-compose
相比,在部署、网络等方面使用 docker-swarm
是否有优势...?
Docker Swarm 和 Docker Compose 是根本不同的动物。 Compose 是一种构建工具,可让您定义和配置一组相关容器,而 swarm 是一种编排工具,可管理多个 docker 引擎,您可以将它们(某种程度上)视为一个单元。 Swarm 公开了一个与 Docker Remote API 大部分兼容的 API,它允许现有应用程序使用 Swarm 进行水平扩展,而无需彻底检查容器引擎的现有接口。
也就是说,Docker Compose 中与 Docker Swarm 重叠的大部分功能都是逐步添加的。 Compose 随着时间的推移而发展,两者之间的区别已经缩小了一点。 Swarm 最终被集成到 Docker 引擎中,并且引入了 Docker Stack,允许 compose.yml
文件直接被 Docker 读取,而无需使用 Compose。
所以真正的问题可能是:docker compose 和 docker stack 之间有什么区别? 不是很多。 Compose 实际上是一个单独的项目,用 Python 编写,在底层使用 Docker API。 Stack 与 Compose 做很多相同的事情,但被集成到 Docker 中。 Stack 还需要预构建图像,而 compose 将为您处理这些图像构建,这使得 compose 非常适合开发。
您所处理的可能是这两种工具截然不同的时代的产物。 Docker Swarm 是 Docker 的一部分,它允许在需要时轻松扩展(即使您现在不需要它,但以后可能会很好)。另一方面,Compose(无论如何在我看来)对于经常调整图像和重建的开发情况更有用。
是否有理由使用 docker-swarm
而不是 docker-compose
在生产中部署单个主机?
我目前正在重写现有的应用程序。我的前任使用 docker-swarm 设置应用程序。但我不明白为什么:应用程序将只包含一个主机 运行 几个服务。这些服务将仅通过 REST-Api 向 kubernetes 集群提供客户网络上的一些本地信息(因此没有真正的负载或添加额外主机的理由)。
我浏览了 Docker 网站,除了在单主机开发环境中测试部署外,找不到使用 docker-swarm
部署单主机的理由。
与 docker-compose
相比,在部署、网络等方面使用 docker-swarm
是否有优势...?
Docker Swarm 和 Docker Compose 是根本不同的动物。 Compose 是一种构建工具,可让您定义和配置一组相关容器,而 swarm 是一种编排工具,可管理多个 docker 引擎,您可以将它们(某种程度上)视为一个单元。 Swarm 公开了一个与 Docker Remote API 大部分兼容的 API,它允许现有应用程序使用 Swarm 进行水平扩展,而无需彻底检查容器引擎的现有接口。
也就是说,Docker Compose 中与 Docker Swarm 重叠的大部分功能都是逐步添加的。 Compose 随着时间的推移而发展,两者之间的区别已经缩小了一点。 Swarm 最终被集成到 Docker 引擎中,并且引入了 Docker Stack,允许 compose.yml
文件直接被 Docker 读取,而无需使用 Compose。
所以真正的问题可能是:docker compose 和 docker stack 之间有什么区别? 不是很多。 Compose 实际上是一个单独的项目,用 Python 编写,在底层使用 Docker API。 Stack 与 Compose 做很多相同的事情,但被集成到 Docker 中。 Stack 还需要预构建图像,而 compose 将为您处理这些图像构建,这使得 compose 非常适合开发。
您所处理的可能是这两种工具截然不同的时代的产物。 Docker Swarm 是 Docker 的一部分,它允许在需要时轻松扩展(即使您现在不需要它,但以后可能会很好)。另一方面,Compose(无论如何在我看来)对于经常调整图像和重建的开发情况更有用。