docker 入门到实战(一)docker 简介

本篇来自于尚硅谷周阳老师 https://www.bilibili.com/vide...

一:docker简介

百度简介:Docker 是一个开源的应用容器引擎,让开发者能够打包他们的应用以及依赖包到一个可移植的容器中,而后发布到任何流行的Linux机器或Windows 机器上,也能够实现虚拟化,容器是彻底使用沙箱机制,相互之间不会有任何接口。docker

一个完整的Docker有如下几个部分组成:数据库

  1. DockerClient客户端
  2. Docker Daemon守护进程
  3. Docker Image镜像
  4. DockerContainer容器

1.1.1 docker的出现

一款产品从开发到上线,从操做系统,到运行环境,再到应用配置。做为开发+运维之间的协做咱们须要关心不少东西,这也是不少互联网公司都不得不面对的问题,特别是各类版本的迭代以后,不一样版本环境的兼容,对运维人员都是考验segmentfault

Docker镜像的设计,使得Docker得以打破过去「程序即应用」的观念。透过镜像(images)将做业系统核心除外,运做应用程式所须要的系统环境,由下而上打包,达到应用程式跨平台间的无缝接轨运做。服务器

1.1.2 docker是啥

Docker是基于Go语言实现的云开源项目。
Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,也就是经过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的APP(能够是一个WEB应用或数据库应用等等)及其运行环境可以作到“一次封装,处处运行”。
Docker解决了运行环境和配置问题软件容器,方便作持续集成并有助于总体发布的容器虚拟化技术。
下载.png架构

1.2.1 虚拟机技术

虚拟机(virtual machine)就是带环境安装的一种解决方案。
它能够在一种操做系统里面运行另外一种操做系统,好比在Windows 系统里面运行Linux 系统。应用程序对此毫无感知,由于虚拟机看上去跟真实系统如出一辙,而对于底层系统来讲,虚拟机就是一个普通文件,不须要了就删掉,对其余部分毫无影响。这类虚拟机完美的运行了另外一套系统,可以使应用程序,操做系统和硬件三者之间的逻辑不变。  运维

虚拟机的缺点:ide

  1. 资源占用多  
  2.  冗余步骤多          
  3. 启动慢

1.2.2 容器技术

容器与虚拟机有所不一样,虚拟机经过虚拟软件中间层将一台或者多台独立的虚拟机器运行在物理硬件之上。而容器则是直接运行在操做系统内核之上,是进程级别的,并对进程进行了隔离,而不是模拟一个完整的操做系统。所以,容器虚拟化也被称为“操做系统级虚拟化”,容器技术能够将软件须要的环境配置都打包到一个隔离的容器中。让多个独立的容器高效且轻量的运行在同一台宿主机上。而Docker就是为了实现这一切而生的。ui

1.2.3 容器与虚拟机比较

传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操做系统,在该系统上再运行所需应用进程;spa

而容器内的应用进程直接运行于宿主的内核,容器内没有本身的内核,并且也没有进行硬件虚拟。所以容器要比传统虚拟机更为轻便。操作系统

每一个容器之间互相隔离,每一个容器有本身的文件系统 ,容器之间进程不会相互影响,能区分计算资源。

1.3 docker架构

  • Docker 镜像(Image)就是一个只读的模板。镜像能够用来建立Docker 容器,一个镜像能够建立不少容器
  • 容器(Container)是基于镜像建立的运行实例,一个容器中能够运行一个或多个应用程序。咱们能够认 为,镜像是Docker生命周期中的构建或者打包阶段,而容器则是启动或者执行阶段。
    能够理解容器中有包含:一个精简版的Linux环境 + 要运行的应用程序
  • 仓库(Repository)是集中存放镜像文件的场所。
    仓库(Repository)和仓库注册服务器(Registry)是有区别的。仓库注册服务器上每每存放着多个仓库, 每一个仓库中又包含了多个镜像,每一个镜像有不一样的标签(tag)。
    仓库分为公开仓库(Public)和私有仓库(Private)两种形式。
    最大的公开仓库是 Docker Hub(https://hub.docker.com/)

docker.png

下一篇:
docker 入门到实战(二)docker安装与卸载

相关文章
相关标签/搜索