感觉按照 Docker 的设计哲学,一切应该尽可能拆得非常细,存储应该尽可能依赖各种云存储而不是 host。
但是对于一些本身很简单,但是可能会有多个依赖(Redis,Memcached,Mongo,MySQL……)的应用,Docker 似乎让事情变得更复杂了。
比如就目前 V2EX 的规模来说,我暂时还没有想明白上 Docker 的价值。
而且,假设部署新代码就是部署一个新的 container,那么在切换的过程中,为了保证完全不影响流量的稳定,还是有一些定制工具需要开发。比如,在前面加上 HAProxy 或者 Nginx,然后新的 container 确认起来(通过了所有的自动化测试)之后,将 LB 里的后端端口指向新的 container,然后 rm 旧的。
但是对于一些本身很简单,但是可能会有多个依赖(Redis,Memcached,Mongo,MySQL……)的应用,Docker 似乎让事情变得更复杂了。
比如就目前 V2EX 的规模来说,我暂时还没有想明白上 Docker 的价值。
而且,假设部署新代码就是部署一个新的 container,那么在切换的过程中,为了保证完全不影响流量的稳定,还是有一些定制工具需要开发。比如,在前面加上 HAProxy 或者 Nginx,然后新的 container 确认起来(通过了所有的自动化测试)之后,将 LB 里的后端端口指向新的 container,然后 rm 旧的。
