01-Docker简介

1. 什么是Docker

  • Docker 是基于Go语言实现的开源项目,诞生于2013年初,最初的发起者dotClound公司,Docker自然开源后受到广泛关注;
  • Docker项目目前已经加入Linux的基金会,遵循Apache2.0协议,全部开源代码均在https://gitHub.com/docker/docker上;
  • Linux的操作系统的支持:Redhat RHEL 6.5/CentOS 6.5往上的操作系统,Ubuntu14.04操作系统,都默认带有docker的安装包;
  • 与Docker的合作方:Google的PaaS(platform as a Service)平台及服务产品,微软的云平台Azure,亚马逊的AWS EC2 Container
  • Docker 的主要目的:Build、Ship and Run Any APP Anywhere,即通过对应用组件的封装(Packing)、分发(Dispatcher)、部署(Deployment) 、运行(Runtime) 等生命周期的管理,达到一次封装到处运行;
  • 组件可以是一个web的应用,也可以是一套数据库,甚至是一个操作系统;
  • Docker 基于Linux的多项开源技术提供了高效敏捷和轻量级的容器方案,并且支持多种主流平台(Paas) 和本地系统上的部署。

2. Docker与虚拟机比较

下面的图片比较了 Docker 和传统虚拟化方式的不同之处,可见容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统,而传统方式则是在硬件层面实现。
在这里插入图片描述

特性容器虚拟机
启动速度秒级分钟级
硬盘使用一般MB一般GB
性能接近原生相对弱于
系统支持单机支持上千个容器一般几十个
隔离性安全隔离完全隔离

3. Docker引擎

docker引擎是一个c/s结构的应用,主要组件见下图:
在这里插入图片描述

  • Server是一个常驻进程;
  • REST API 实现了client和server间的交互协议;
  • CLI实现容器和镜像的管理,为用户提供统一的操作界面。

4. Docker构架

Docker使用C/S架构,Client 通过接口与Server进程通信实现容器的构建,运行和发布。client和server可以运行在同一台集群,也可以通过跨主机实现远程通信。
在这里插入图片描述

5. 核心概念

在这里插入图片描述
镜像(Image),镜像是只读的,镜像中包含需要运行的文件(提供容器运行时所需的程序、库、资源、配置等文件,还包含了一些为运行时准备的一些配置参数)。镜像用来创建container,一个镜像可以运行多个container;镜像可以通过Dockerfile创建,也可以从Docker hub/registry上下载。

容器(Container),是Docker的运行组件,启动一个镜像就是一个容器,容器是一个隔离环境,多个容器之间不会相互影响,保证容器中的程序运行在一个相对安全的环境中。

仓库(Repository),从认识上来说,就好像软件包上传下载站,有各种软件的不同版本被上传供用户下载,共享和管理Docker镜像,官方地址为:https://registry.hub.docker.com/

6. Docker应用场景

在这里插入图片描述

举简单的几个例子:

  • 辛辛苦苦,兢兢业业几个月的产品中午开发好了,要去给客户演示的时,搭建演示环境就很麻烦,这个时候我可以直接将 Docker 镜像提供给他们。
  • 写前端的同学和写后端的同学开发,或者不同负责不同模块的同学开发时配置的环境不同,一测试就冲突,无法正常运行。Docker就能很好的解决这个问题。
  • 目前大多数的云主机提供商已经全面支持Docker,如果你的开发测试是在本地的,正式业务是再云上,那么你需要在云主机上还配置一次运行环境。这个时候就可以使用Docker。
  • 多个应用系统公用一台服务器的时候,修改某个系统参数之后需要重启服务器,其他业务可能也会受到影响,如果你使用的是Docker,你只需要重启参数修改的container即可。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

逍遥俊子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值