2015-10-152015-10-154汽车之家Docker应用实践王盛我们对Docker的认识Docker是利用现有成熟的技术基础上进行的更好封装出来的产品轻量,占用很少cpu和内存Docker可以让开发和测试对于环境部署和使用更加简单Docker实现了大部分程序都可以在一个安全隔离的环境中运行可以很方便的运行中间件和应用开源可以定制开发6我们对Docker的认识-核心技术栈命名空间Namespace-通过Namespace将容器的网络、进程、用户等等隔离控制组ControlGroups-对共享资源进行隔离、限制,避免多个容器同时运行时对资源进行抢占联合文件系统(DeviceMapper/Aufs/Vfs)-这是一种分层、轻量级的文件系统,通过分层来进行制作镜像7我们对Docker的认识-核心技术栈8Docker生命周期9ContainervsVM10ContainervsVM-节省虚拟GuestOS需要的大量空间-硬盘空间以GB为单位,GuestOS越多越体现Docker优势-性能接近原生系统-轻量级,快速创建和启动11Docker仓库12特点能够快速让你的应用测试、上线测试、生产环境相对一致,不会出现调环境而耽误大量时间横向更加简单快速,利用有效的管理工具可以更高密度的扩展,而省去大量的人工成本可以更好利用现有机器资源,提高利用率可以智能实现横向扩展13汽车之家应用Docker现状14Docker应用-现状Linux发行版Centos6.4Kernel3.10和4.0Docker版本1.6.2快速部署、环境统一、轻量、更快开发自研群管理和容器调度目标是让Docker更像物理机器能够利用现有仓库和编排系统快速搭建开发环境为了适应当前的网络架构更改了Docker网络部分15Docker应用-构建-有单独机器专门做构建-构建版本镜像版本有分层-基于Centos:7+systemd+zabbix-对构建后的镜像有统一的管理16Docker应用-DockerHub-版本的是DockerRegistry2.0-Registry本身不能够高可用,Nginx负载多个Registry-使用网络存储共享镜像-配置Mirrroring,获取官网镜像17Docker应用-Daemon-更改镜像位置(--graph=“/data/docker/lib”)-删除docker0网桥,桥连到自定义网桥-增私服地址(--insecure-registry="r1.d.xxxx.com")Docker应用-网络问题对比集中网络模式container模式:只在单机多个容器之间nat模式:配置映射繁琐麻烦,网络性能低host模式:复用宿主机端口,问题是无法端口重用,容易冲突19Docker应用-网络问题Docker目前提供的网络模式不适合业务环境--iptables=false修改Docker内核改成静态IP模式IP是通过容器名字为标识从IPPool获取20Docker应用-网络问题21Docker应用-双11方案往年双11遇到的...