我刚刚开始了解 Docker,并考虑用 Docker 基础架构替换我的基于 VM 的基础架构。我想知道如何处理容器之间的依赖关系以及如何决定何时/是否需要重新启动依赖容器,如果需要,如何最大限度地减少停机时间。
更准确地说,我发现了诸如fig或decking之类的工具来管理容器和依赖项,因此(如果我幸运的话)我得到了一个有向无环图,它告诉我启动或关闭容器的顺序。例如,mongodb 容器必须在 webserver 容器之前启动等。
因此,如果我更新 MongoDB 或更改某些设置,我想我也应该关闭网络服务器,因为它不能很好地处理不存在的数据库。在这种情况下,如何最大限度地减少关闭和重新启动容器所导致的停机时间,包括重新部署 Jetty webapp 等?
但是,如果我只是更新我的 SMTP 服务器(或多或少所有其他容器都依赖),我不希望这触发我的整个容器基础设施的重新启动。那么,重新启动邮件服务器容器后,其他容器是否仍然能够访问之前链接的端口?
你如何处理这种情况?我是否需要/是否可以为每个容器 ABC 添加一个大使容器 ABC_amb,这些容器在 ABC 重新启动等时永远不会关闭并保持连接?