Docker 部署 - 一台机器 - 无停机时间

标签 docker docker-compose docker-swarm

我只有一个小型 Web 项目要通过 Docker 运行,只有一台我不能使用虚拟化的机器,我也不需要虚拟化。我想知道如何在不停机的情况下使用 Docker 将我的应用程序部署到 VPS。

目前,我只是使用存储库并使用 docker-compose 创建 docker 容器(包括通过特定 .yaml 文件进行生产的一些配置)。

我想最好是使用 Swarm,但我认为这是不可能的,因为我只能使用一台机器。

最佳答案

单机部署是 Swarm 的一个很好的用例。如果您的服务可以实现零停机服务更新(假设您正在运行 2 个服务容器),则可以进行“滚动更新”。

显然,您不会有硬件或操作系统级别的容错,但 Swarm 是比 docker-compose cli 更好的生产解决方案。

在我关于该主题的 GitHub AMA 中查看我在这种情况下使用 Swarm 的所有原因:Only one host for production environment. What to use: docker-compose or single node swarm?

example of rolling updates 上观看我的 YouTube 视频.

关于Docker 部署 - 一台机器 - 无停机时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53131781/

相关文章:

postgresql - 使用 SQL 从 Docker 迁移数据库不起作用

r - Docker 撰写 - R 服务器 - fatal error : you must specify '--save' , '--no-save' 或 '--vanilla'

docker - 在 Docker Swarm 中,如何找到哪个节点 IP 正在运行给定任务?

ssl - Traefik & LetsEncrypt - DNS prob lem NXDOMAIN looking up up for example.com

docker - Docker Swarm-仅在本地环境中使用mongod服务

django - "error readlink/var/lib/docker/overlay2 invalid argument"当我运行 docker-compose up

scala - 如何在测试开始前从 sbt 运行 docker 容器?

mysql - 如何等待导入sql文件?

docker - 将 docker 容器传送到远程主机的最佳方法是什么?

docker - 为什么我在完全更新的 azerothcore 下载时遇到 docker-compose 版本冲突?