Docker内置一些轻量级应用或服务,比如web前端和中间件等,但是数据库在Docker中运行的是否比较多,数据库运行在Docker中有什么优势和弊端,数据库程序和数据如何有效分离?
收起docker快速扩展的一个重要特征就是stateless,具有数据状态的都不适合直接放在docker里面,因为如果docker中安装数据库,存储需要单独作为一个数据服务进行提供。目前腾讯的TDSQL和阿里的Oceanbase都直接运行中在物理机器上,都没使用docker。
数据库的性能瓶颈一般出现在IO上面,如果docker的思路,那么多个docker最终IO请求又会出现在存储上面。现在互联网的数据库多是share nothing的架构,可能这也是不考虑迁移到docker的一个因素吧