Docker基础知识【一】

1. Docker是什么

Docker是一个开源的应用容器引擎,是容器化技术,基于Go语言并遵从Apache2.0协议开源。
Docker可以让开发者打包他们的应用以及依赖包到以一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器上;也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。
Docker实际上就是一个虚拟化轻量级Linux服务器,可以解决我们开发、测试、生产运行环境不一致问题。

2. Docker作用

Docker的主要目标是 “build ,ship and run any app,anywhere”(可以构建、分发、运行任何app,在任何环境中),通过Docker可以让用户的app及其运行环境能够做到 “一次封装,到处运行”。
Docker主要解决环境配置问题,它是一种虚拟化技术,对进程进行隔离,被隔离的进程独立于宿主机操作系统和其他隔离的进程。使用Docker可以不修改应用程序代码,不需要开发人员学习特定环境下的技术,就能够将现有的应用程序部署在其他机器上。

3. Docker与传统虚拟机的比对

3.1 虚拟机介绍

在一台物理机器上,利用虚拟化技术,虚拟出来多个操作系统,每个操作系统之间是隔离的。
             在这里插入图片描述
从下到上理解上图:

  • Infrastructure:物理机器,可以是服务器,或者是一台PC。
  • Host Operating System:物理机上的操作系统,比如我们安装的win10操作系统。
  • Hypervisor:虚拟机软件,比如VIrtualBox、Vmware,它们作用是模拟计算机硬件。
  • Guest OS:虚拟机模拟出的操作系统,比如Centos7、Ubuntu等。
  • Bins/Libs: 虚拟的操作系统中,安装所需的软件、组件,比如安装的JDK、Mysql、Redis等。
  • App#1: 需要部署的应用程序。

3.2 Docker介绍

Docker是开源的应用容器引擎,是容器化技术。

           在这里插入图片描述
从下到上理解上图:

  • Infrastructure:物理机器,可以是服务器,或者是一台PC。
  • Host Operating System:物理机上的操作系统,比如我们安装的win10操作系统。
  • Docker Daemon:Docker的守护进程。
  • Docker镜像:应用及其依赖包被打包成Docker镜像,比如JDK、Tomcat、应用打包在一起,运行在Docker容器中,容器与容器之间是隔离的。

3.3 俩者对比

  1. 从俩者的架构图来看,虚拟机是在硬件层面进行虚拟化,模拟硬件搭建操作系统;而Docker是在操作系统的层面进行虚拟化,复用操作系统,运行Docker容器。
  2. 虚拟机的启动速度通常按分钟计算;而Docker启动速度很快,秒级。
  3. 同样一台物理机器,虚拟机最多可以启动几十台;而Docker可以启动上千个。
  4. 虚拟机实现了操作系统之间的隔离,Docker是进程之间的隔离,虚拟机的隔离级别更高,安全性方面也更强。
  5. 虚拟机和Docker各有优势,不存在谁替代谁的问题,很多企业都采用物理机上做虚拟机,虚拟机上跑Docker的方式。
特性容器虚拟机
启动速度秒级分钟级别
硬盘使用一般为MB一般GB
性能接近原生弱于原生
系统支持量单机支持上千个容器一般几十个
隔离性完全隔离完全隔离

4. Docker架构简介

Docker三个核心组件:

  1. 镜像(Image):用户创建Docker容器的模板。
  2. 容器(Container):容器是独立运行的一个或一组应用,是镜像运行是的实体。
  3. 仓库(registry):Docker仓库用来存储镜像,可以理解为代码控制中的代码仓库。

Docker使用客户端-服务器(C/S)架构模式,使用远程API来管理和创建Docker容器。
Docker架构图如下:
         在这里插入图片描述

  • Docker Client:Docker架构中用户用来和Docker daemon建立通信的客户端,用户通过Docker命令行工具可以管理Container。
  • Docker Daemon:Docker架构中常驻在后台的守护进程,接收并处理Docker Client发送过来的请求。
  • Registry:存储镜像文件的仓库。仓库分为俩种,公有仓库和私有仓库,最大的公有仓库是docker hub,存储着数量庞大的镜像供用户下载,我们也可以搭建私有的仓库来存储非公开的镜像。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值