EnochLiang
V2EX  ›  Docker

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

  •  
  •   EnochLiang · Oct 16, 2020 · 5216 views
    This topic created in 2218 days ago, the information mentioned may be changed or developed.

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

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

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

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

    大流量站点,对性能要求苛刻的,可以把数据库组件移出容器,以贴近原生的速读运行。
    zzl22100048
    zzl22100048
    Oct 16, 2020 via iPhone
    8
    我把你这里的 docker 理解成容器化吧,statefulset 不就专门用于有状态的应用么
    EnochLiang
    EnochLiang
    OP
    Oct 19, 2020
    9
    @joyhub2140 感谢🙏
    EnochLiang
    EnochLiang
    OP
    Oct 19, 2020
    10
    @luckyrayyy 我可以理解为要在容器外独立出一个存储单元,然后把这个存储单元挂载到容器中,容器只提供计算服务,这样做的话,就不用担心数据丢失了是吗?
    julyclyde
    julyclyde
    Oct 19, 2020
    11
    if doubt, don't do it
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1583 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 16:29 · PVG 00:29 · LAX 08:29 · JFK 11:29
    ♥ Do have faith in what you're doing.