docker 应用和数据库应该像在同一镜像里吗?

2018-01-17 09:32:46 +08:00
 comeluder
docker 应用和数据库应该像在同一镜像里吗,求教各路大神~~~~
4707 次点击
所在节点    程序员
25 条回复
monnand
2018-01-17 12:57:50 +08:00
@fatduo #13

> 个人认为数据库这些有状态服务,不应该使用容器和容器编排技术,至少生产环境不应该。

至少在 Google 所有东西都是在容器(Borg 系统)里的。包括各种数据库类应用,比如 BigTable Spanner 等

但是数据库存储的内容不要做成镜像的一部分。这一点 Kubernetes 应该已经做了一套方案
feverzsj
2018-01-17 13:01:03 +08:00
哈哈,当然可以放在一起,只是再部署的时候,你得把容器重新保存成镜像
fatduo
2018-01-17 14:17:14 +08:00
@monnand
我说的情况是容器和机器没有绑定的情况,如果容器和机器完全绑定,这和在这台机器上直接起服务没有太多本质区别。
k8s 是提供了 statefulset 作为有状态服务的部署,可以通过 pvc 挂载 volume 的形式,实现服务(pod)漂后重新挂载存储,数据不丢失。但这种基于网络存储并不是适合 db 这种重 io 的服务。。。
HuHui
2018-01-17 17:07:31 +08:00
分开
julyclyde
2018-01-18 16:40:35 +08:00
@trepwq 虚拟机能重新开机,容器不能吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/423529

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX