我是 docker 的新手,刚开始玩它。截至目前,我在生产中对我的应用程序进行了以下设置:
服务器机器 1:运行 spring-boot 微服务
服务器机器 2:运行 redis
服务器机器 3:运行 postgres
如果我在服务器机器 1 中使用 docker 并将所有微服务作为容器运行,并将 redis 和 postgres 作为容器在服务器机器 1 中运行,这是正确的做法吗?或者我必须在所有服务器机器上运行 docker 并分别运行容器。
最佳做法是什么?
最佳答案
刚开始时,我建议在一台机器上完成所有工作。您的数据库容器可以使用卷将数据保存到机器本身。所以当你需要切换到不同的机器时,因为1台机器太慢,你可以轻松地转移你的数据库数据。当开始使用超过 1 台机器来运行 Docker 时,您可能希望使用像 Kubernetes 或 Docker swarm 这样的部署选项。这将简化在不同机器上设置环境的过程,因为它将由 Kubernetes 完成。
此外,当您的应用程序获得大量流量时,您可能希望切换到托管数据库,这些数据库由 GCP、AWS、Digitalocean 等服务提供。托管数据库将自动扩展、频繁更新和备份自动地。这会减轻你肩上的负担。我自己使用托管数据库。
我目前的建议是:使用 1 台机器,当您的应用程序获得更多流量时学习 Kubernetes。查看托管数据库(适用于 Redis 和 Postgres)。
关于postgresql - 生产中的DOCKER环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56349492/