Docker技术初探

Docker

Docker官方网站

Docker是什么

Docker是Moby项目的一个子集,基于服务器和云构建、运行和管理容器软件框架。术语“docker”可以指工具或者Dockerfile文件格式。

在过去当你想要运行一个网络应用程序,你需要购买服务器,下载Linux,配置LAMP环境(LAMP是指用来构建Web的服务器套件,由操作系统Linux,网页服务器Apache,数据库管理系统MySQL,编程语言PHP),然后运行你的app。如果你的app非常受欢迎,你需要设置第二个服务器来确保应用程序不会因为流量过多而造成崩溃,建立良好的负载平衡。

时代在创新与进步,互联网不再专注于单个服务器,而是建立一个相互依赖和冗余的服务器阵列在“云”系统上。正因为Linux内核namespace(Linux内核系统资源的封装隔离)和cgroups(Linux内核机制,系统资源管理框架)等技术的创新,服务器的概念可以从传统的硬件限制中移除,而是本质上变成一个软件。这些基于软件的服务器被称为容器,是运行Linux系统和超本地化运行时环境(容器的内容)的混合体。

如何理解容器containers

容器技术可以被认为是三种不同分类:

  1. Builder:用于构建容器的一系列工具。例如用于Docker的Dockerfile。
  2. Engine:用于运行容器的应用程序。对于Docker,这是指docker命令和docker守护进程。
  3. Orchestration:用于管理容器的技术。

容器通常提供应用程序和配置,这意味着与传统源程序安装相比,系统管理员不必花过多的时间让程序在系统上运行起来。DockerHub是提供供容器引擎使用的镜像存储库。

容器最大的吸引力在于,他们能优雅地“死亡”并在需要负载均衡的时候重新生成。无论容器的“死亡”是由于崩溃引起还是服务器流量低不需要使用,容器的启动是“廉价的",**他的设计目的就是无缝的出现或消失。**由于容器是短暂的,需要频繁的生成新实例,监视和管理他们不是由人工实现而是自动化。

Docker的架构

Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。Docker容器通过Docker镜像来创建。容器与镜像的关系类似于面向对象编程中的对象与类。

Docker面向对象
容器对象
镜像

为什么使用Docker

开源的一大优点就是可以选择合适的技术来完成任务。Docker引擎对倾向于轻量级、干净测试环境且不需要复杂编排的单独开发人员非常有用。

  • Docker 是世界领先的软件容器平台。
  • 开发人员利用 Docker 可以消除协作编码时“在我的机器上可正常工作”的问题。
  • 运维人员利用 Docker 可以在隔离容器中并行运行和管理应用,获得更好的计算密度。
  • 企业利用 Docker 可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为 Linux 和 Windows Server 应用发布新功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值