Docker在生产环境中的应用--开篇

Docker在生产环境中的应用--开篇

**Docker是什么?**(官方定义)Docker是一个开源的引擎,可以轻松地为任何应用
创建一个轻量级的、可移植的、自给自足的容器,开发者在笔记本上编译测试通过
的容器,可以批量地在生产环境中部署,包括VMS(虚拟机)、bare metal
、OpenStack集群和其它应用平台。

**Docker通常应用到以下几种场景:**

    1.web应用的自动化打包和发布;
    2.自动化测试和集成、发布;
    3.在服务型环境中部署和调整数据库或其它的后台应用;
    4.从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建PaaS环境;

Docker是基础设施的新成员,近些年,随着Docker技术在DevOps和基础设施领域
中飞速发展,各大大小小的IT企业如Google、亚马逊、微软、IBM等,都开始注重
Docker容器在生产环境中的使用,转换其应用,使之运行于容器内,以此实现面向
服务架构(SOA)和微服务。毫无疑问,容器已经成为应用程序打包和基础设施自
动化的重要组成部分。目前关于Docker在生产环境中的相关资料很少,本系统教程
是从本人相关项目实战中整理出来,主要结合Docker的使用场景、网络和存储驱动
如何选型、资源如何限制、镜像仓库的权限控制、容器健康的监控及安全隐患、容
器的集群等等场景给出的解决方案,希望能给大家一些帮助。

**为什么要使用Docker?**

Docker所使用的底层容器技术已经存在很多年了,甚至早于dotCloud这家平台即
服务(PaaS)创业公司。在dotCloud之前,许多知名公司,如HeroKu和Iron.io
已经在生产环境中运行大型容器集群,以获取额外的超越虚拟机的性能优势。与
虚拟机相比,在容器中运行软件赋予了这些公司秒级而非分钟级的实例启动与停止
的能力,同时能使用更少的机器运行更多的实例。

Docker之所以能取得这么大的成功,主要取决于它的易用性!Docker创造了一种
统一的方式,通过简便的命令行和HTTP API工具来打包、运行和维护容器,极大地
简化并降低了将应用程序及其运行时环境打包成一个自包含镜像的入门门槛,使之
变得可行并有趣。

Docker提供了一种统一的手段,将应用程序及运行时环境打包到一个简单的Docker
file里,这从根本上改变了开发人员与DevOps团队间的交互界面,从而极大地简化了
开发团队与DevOps之间的沟通需求与责任边界。

在Docker出现之前,各个公司的开发与运维团队之间经常会爆发史诗般的战争,开发
团队想快速前进,整合最新版本的软件及依赖,以及持续部署,而运维团队则保持以
稳定为已任,他们负责把关可以运行于生产环境中的内容。如果运维团队对新的依赖
或需求感到不适,他们通常会站在保守的立场上,要求开发人员使用旧版本软件以确
保糟糕的代码不会搞垮整台服务器。

Docker一下子改变了DevOps的决策思维,从"基本上说不"变成了"好的,只要运行在
Docker中就可以",因为糟糕的代码只会让容器崩溃,而不会影响到同一台服务器上的
其他服务。在这种范型中,DevOps有效地负责为开发提供PaaS,而开发人员负责保
证其代码能正常运行。

转载于:https://blog.51cto.com/7069211/2369096

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值