dokcer加速本地开发和构建,开发人员可以构建、运行并分享Docker容器,容器可以在开发环境中构建,然后轻松地提交到测试环境中,并最终进入生产环境
Docker的对比:
特性 容器 虚拟机
启动用时 秒 分
硬盘要求 MB GB
性能 接近原生 低于原生
系统支持 能载上千 几十个
隔离性 安全隔离 安全隔离
抽象范围 应用层抽象 物理硬件层抽象
运用大小 隔离应用 隔离整个环境
Dokcer特点:
灵活:即使是最复杂的应用也可以集装箱化。
轻量级:容器利用并共享主机内核。
可互换:您可以即时部署更新和升级。
便携式:您可以在本地构建,部署到云,并在任何地方运行。
可扩展:您可以增加并自动分发容器副本。
可堆叠:您可以垂直和即时堆叠服务。
功能介绍
1· 能够让独立服务或应用程序在不同环境中,得到相同的运行结果。避免公用的服务器,资源会容易受到其他用户的影响。——隔离性
2· docker赋予软件独立性,使其免受外在环境差异(例如,开发和预演环境的差异)的影响,有助于减少团队间在相同基础设施上运行不同软件时的冲突。——助团队开发
3· docker 可以让开发者先在本机上构建一个复杂的程序测试,而不是一开始就在生产环境进行测试。
4· 秒级、甚至毫秒级的启动,极大节约开发、测试、部署的时间。——省时性
5· 善于处理集中爆发的服务器使用压力,能够弹性伸缩,快速扩展。——抗压性
6.可轻易把一个平台上运行的应用,迁移到另一平台上,不用担心运行环境的变化导致应用无法正常运行的情况。——迁移方便
Docker概念
Docker 包含三个基本概念,分别是镜像(Image)、容器(Container)和仓库(Repository)。镜像是 Docker 运行容器的前提,仓库是存放镜像的场所,可见镜像更是Docker的核心。
镜像(Image)——特殊的文件系统
操作系统分为内核和用户空间。对于Linux而言,内核启动后,会挂载root文件系统为其提供用户空间支持。而Docker镜像(Image),就相当于是一个root文件系统。
· Docker 镜像: 用户基于镜像来运行自己的容器,可以把镜像当做容器的『源代码』,镜像体积很小,易于分享、存储和更新
· 用 Registry 保存用户构建的镜像,Registry 分为公共和私有两种:
--公司运营的公共 Registry 叫做 Docker Hub,用户注册账号,分享保存镜像。
--也可以在 Docker Hub 保存自己的私有镜像或者架设自己私有的 Registry
--镜像是 Docker 生命周期中的构建或打包阶段
容器(Container)——镜像运行时的实体
镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等 。
· Docker 容器: 把应用程序或服务打包放进去,容器是基于镜像启动的,容器中可以运行
一个或多个进程。
仓库(Repository)——集中存放镜像文件的地方
镜像构建完成后,可以很容易的在当前宿主上运行,但是, 如果需要在其它服务器上使用这个镜像,我们就需要一个集中的存储、分发镜像的服务,Docker Registry就是这样的服务。
Build(构建镜像):镜像就像是集装箱包括文件以及运行环境等等资源。
Ship(运输镜像):主机和仓库间运输,这里的仓库就像是超级码头一样。
Run (运行镜像):运行的镜像就是一个容器,容器就是运行程序的地方。
Docker 的官方文档:https://docs.docker.com/
Docker其他文档参考:
网友评论