业务往Dokcer转换,经过一些填坑,使得docker转换成功,对于开发而言,只要把这个容器当成虚拟机。SRE团队,底层运维及平台健康
微服务架构,
无状态的服务,只读服务,docker更适合运行无状态服务,提高了物理机的利用率。
一个Docker的image,是一个已完成部署的一个版本,或版本中间状态。
DB、redis还是在实体机上
Git-hub的hook,通过push到某个docker image,然后tag操作,这样完成自动化过程。
Build(使用的临时容器可能会有问题)-shape(registory/index的问题,主要在权限方面)-run(ipforward、iptables等网络相关的缺陷)
Docker的监控feature,但是其初始状态还是遇到了一些问题,例如内存预报不准。千个节点的docker左右。Ubuntu 14.04
你猜集装箱是搬运公司发明的,还是轮船公司发明的?
Docker背后的想法和我们想用虚拟机的思路是一致的,创建软件程序可移植的轻量级容器,而不去关系底层是什么?
Docker的典型优势:
-
隔离应用依赖,自成一体,启动就可以run
-
创建应用及其土壤 的镜像并进行复制
-
创建容易分发的即启即用的应用。想象一下原发布的web应用要启动这个apach,然后xxx,然后xxx,最后可以访问了。现在多么简单的一件事情。当然你可以给人家一个vpc
-
允许实例简单、快速地扩展
-
测试应用然后销毁它们
Docker容器相比虚拟机而言,它们被设计用来运行单进程,无法真实模拟一个完整的环境。这个工作模式是一个容器一个进程。Docker exec是可以进入容器的,从docker的实际来看,就是利用CPU的,或临时内存,其中完全无数据保留的(如果docker退出)
Docker容器的关联:
-
容器启动时候,获得随机私有IP,利用IP可以和host通讯
-
同一个host上的不同容器默认局域网通讯
-
创建容器时候引用现存容器,并给予一个别名,那么就可以根据别名来访问,来通讯
Cgroup和union文件系统是非常核心的两个docker相关,