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

2018-01-17 09:32:46 +08:00
 comeluder
docker 应用和数据库应该像在同一镜像里吗,求教各路大神~~~~
4842 次点击
所在节点    程序员
25 条回复
solooo
2018-01-17 09:35:13 +08:00
分开,应用是应用,数据库是数据库
comeluder
2018-01-17 09:41:15 +08:00
@solooo 我也是这么想,但我们经理想弄在一起,方便,我也感觉不太合理,问问大家怎么弄的~~
rockyou12
2018-01-17 09:43:45 +08:00
一定要分开。如果你是单机部署,写个 docker-compose.yml 就好了,如果是 kubelet 这些也有 pod 这些抽象,分开了一样方便。
wellsc
2018-01-17 09:47:03 +08:00
不应该,container 应该是无状态的
codehz
2018-01-17 09:51:17 +08:00
@wellsc 我觉得楼主说的应该是应用和数据库程序都在一个镜像里。。。
codehz
2018-01-17 09:52:49 +08:00
我个人认为应用和数据库应该分离在不同的镜像,这样可以方便单独重新部署应用。。。当然如果是 demo 这种类型的项目,就是怎么方便怎么来的
neoblackcap
2018-01-17 09:54:39 +08:00
k8s 就是分开的
mooncakejs
2018-01-17 09:56:58 +08:00
如果是自己公司业务持续升级的。数据库分开,如果是阿里云之类的,最好用 RDS 之类的产品。
如果是外包或者产品发布的,打成一个包也不错。gitlab 就是个很好的例子。
wellsc
2018-01-17 09:57:36 +08:00
@codehz #5 就算是和数据库程序放在一起也是有状态的,数据库程序其实就是代表了数据,数据库程序运行不起来应用也读不了数据对不对?
zhengxiaowai
2018-01-17 10:04:51 +08:00
数据库都不应该放在 Docker 里面
liuzelei
2018-01-17 10:07:38 +08:00
@zhengxiaowai nod,db 这种重度 io 的 app,不应该放在 docker 中部署。
abmin521
2018-01-17 10:18:36 +08:00
挂了 volume 随便玩
yonoho
2018-01-17 10:22:02 +08:00
@comeluder 你要是拗不过他就在 dockerfile 里严格分层,万一以后玩不转了直接拆成两个 dockerfile。
fatduo
2018-01-17 10:25:23 +08:00
个人认为数据库这些有状态服务,不应该使用容器和容器编排技术,至少生产环境不应该。
gamexg
2018-01-17 11:21:31 +08:00
分开,扩展方便。
forgetandnew
2018-01-17 11:48:25 +08:00
看需求
ETO
2018-01-17 11:49:45 +08:00
分开
trepwq
2018-01-17 11:52:34 +08:00
在一个容器里和虚拟机有什么区别。。
ifaii
2018-01-17 12:24:22 +08:00
@trepwq 区别老大了,系统级和应用级的区别
20has
2018-01-17 12:54:49 +08:00
要我说就无所谓 只要你的数据库卷做了持久化 不管是 data volume 还是分布式存储 都行 前提是业务访问量不大

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

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

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

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

© 2021 V2EX