V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
EnochLiang
V2EX  ›  Docker

消息队列部署在 docker 中合适吗?

  •  
  •   EnochLiang · 2020-10-16 15:38:08 +08:00 · 4181 次点击
    这是一个创建于 1485 天前的主题,其中的信息可能已经有所发展或是发生改变。

    初学者求问,网上有很多资料说不建议将数据库部署在 docker 中,因为一旦 docker 容器被删除了,数据也就没了,那消息队列和 redis 这样的中间件呢?是不是同样也不建议部署在 docker 中呢?

    11 条回复    2020-10-19 10:38:08 +08:00
    lambdaq
        1
    lambdaq  
       2020-10-16 15:56:36 +08:00
    下面开始技术总结:喜欢丢数据的同学可以用 docker,不喜欢的的可以不用。
    shiny
        2
    shiny  
       2020-10-16 15:57:05 +08:00
    理由不成立
    nomansky
        3
    nomansky  
       2020-10-16 16:00:29 +08:00
    谁说的 docker 删了数据就没了,csdn 看到的资料?容器是可以持久化数据的,建议了解下 docker 的原理
    luckyrayyy
        4
    luckyrayyy  
       2020-10-16 16:01:35 +08:00
    docker 本身是无状态的,不适合存储有状态的服务。但是不等于有状态的就不能上 docker 。你可以把磁盘挂载上去,当然这样 docker 就不能漂移了。或者把存储和计算分开,好像阿里很早之前就把数据库容器化了,不过容器里面只有计算单元,存储另外方的。
    eric96
        5
    eric96  
       2020-10-16 17:31:03 +08:00
    docker 是可以挂载磁盘的,像 k8s 这种,支持各种云服务提供的存储服务
    xurunfei
        6
    xurunfei  
       2020-10-16 17:48:05 +08:00
    将数据挂载到宿主机就行了
    joyhub2140
        7
    joyhub2140  
       2020-10-16 17:55:57 +08:00
    大部分生产环节的容器,都会把日志和数据,配置,相关的写在挂载的 volume 上面的,这部分是独立于容器的生命周期的

    更容易理解的说法应该是,容器就是执行中的代码,和数据是分离的

    建小站,访问量也小,把所有组件仍容器内,简直不要太爽。

    大流量站点,对性能要求苛刻的,可以把数据库组件移出容器,以贴近原生的速读运行。
    zzl22100048
        8
    zzl22100048  
       2020-10-16 20:11:02 +08:00 via iPhone
    我把你这里的 docker 理解成容器化吧,statefulset 不就专门用于有状态的应用么
    EnochLiang
        9
    EnochLiang  
    OP
       2020-10-19 10:09:50 +08:00
    @joyhub2140 感谢🙏
    EnochLiang
        10
    EnochLiang  
    OP
       2020-10-19 10:12:14 +08:00
    @luckyrayyy 我可以理解为要在容器外独立出一个存储单元,然后把这个存储单元挂载到容器中,容器只提供计算服务,这样做的话,就不用担心数据丢失了是吗?
    julyclyde
        11
    julyclyde  
       2020-10-19 10:38:08 +08:00
    if doubt, don't do it
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2668 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 06:15 · PVG 14:15 · LAX 22:15 · JFK 01:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.