Docker 理念

Docker是基于Go语言实现的云开源项目。

基本概念

容器:实例对象,是一个集装箱,可以把容器看作简易版的Linux环境
镜像:只读的模板,用来创建容器。可以创建多个容器,例如mysql redis centOS 等;
仓库:集中存放镜像的。(阿里云与网易云有仓库镜像,可以加速)。

Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的APP(可以是一个WEB应用或数据库应用等等)及其运行环境能够做到“一次封装,到处运行”。

Linux 容器技术的出现就解决了这样一个问题,而 Docker 就是在它的基础上发展过来的。将应用运行在 Docker 容器上面,而 Docker 容器在任何操作系统上都是一致的,这就实现了跨平台、跨服务器。只需要一次配置好环境,换到别的机子上就可以一键部署好,大大简化了操作

一句话,解决了运行环境和配置问题的软件容器,方便做持续集成并有助于整体发布容器虚拟化技术。内核级虚拟化。

容器虚拟化技术

由于前面虚拟机存在这些缺点,Linux 发展出了另一种虚拟化技术:Linux 容器(Linux Containers,缩写为 LXC)。

Linux 容器不是模拟一个完整的操作系统,而是对进程进行隔离。有了容器,就可以将软件运行所需的所有资源打包到一个隔离的容器中。容器与虚拟机不同,不需要捆绑一整套操作系统,只需要软件工作所需的库资源和设置。系统因此而变得高效轻量并保证部署在任何环境中的软件都能始终如一地运行。

比较了 Docker 和传统虚拟化方式的不同之处:

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

*而容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟。因此容器要比传统虚拟机更为轻便。

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

镜像(images)、容器(containers)、仓库

Docker镜像(image)就是一个只读的模板,镜像可以用来创建Docker容器,一个镜像可以创建很多容器。

镜像 相当于 java中的类,容器相当于对象。

Docker利用容器(Container)独立运行一个或者一组应用。容器是用镜像创建的运行实例。

他可以被启动、开始、停止、删除、每个容器都是相互隔离的、保证安全的平台。

可以把容器看做是一个简易版的linux 环境(包括root用户权限、京城空间、用户空间和网络空间等)和运行在其中的应用程序。

容器定义和镜像几乎一模一样,也是一堆层的统一视角。唯一区别在于容器的最上面那一层是可读可写的。

仓库是集中存放镜像文件的场所。仓库(repository)和仓库注册服务器(registry)是有区别的。仓库注册服务器上往往存放着多个仓库,每个仓库中又存放着多个镜像。每个镜像有不同的标签(Tag)。

Docker本身是一个容器运行载体或称之为管理引擎。我们把应用程序和配置依赖打包好行程一个可交付的运行环境,这个打包好的运行环境就类似image镜像文件。 只有通过镜像文件才能生成Docker容器。 Image 文件可以看做是容器的模板。Docker根据image文件生成容器实例。同一个image文件,可以生成多个同时运行的容器实例。

Docker基础学习笔记相关推荐

  1. Docker基础学习笔记( 搭建web漏洞检测环境和容器中运行Django项目)

    目录 一.Docker技术的学习 1.1.docker安装(ubuntu16.04) 1.1.1.apt-get换国内清华源 1.1.2.安装最新版本的Docker 1.2.docker容器与镜像使用 ...

  2. Docker基础学习笔记02:Docker基本操作

    文章目录 一.Docker镜像操作 (一)拉取镜像到本地 1.命令格式 2.操作演示 (二)查看本地镜像 (三)删除本地镜像 任务1:删除本地指定镜像 任务2:删除全部本地镜像 任务3.拉取镜像到本地 ...

  3. Docker基础学习笔记01:Docker安装

    文章目录 一.Docker概述 (一)Docker为何物 (二)Docker思想 1.集装箱 2.标准化 3.隔离性 二.在私有云上创建虚拟机 (一)登录OpenStack私有云 1.查看[概览] 2 ...

  4. 《自己动手写Docker》学习笔记2

    <自己动手写Docker>学习笔记2 1 前言 由于本人毕业设计与云原生领域相关,因此最近在学习Docker相关知识,<自己动手写Docker>涵盖了Docker底层的各类知识 ...

  5. 《深入浅出Docker》学习笔记

    <深入浅出Docker>学习笔记 第三章:docker 安装 linux服务器安装:-略 windows服务器安装:-略 确认安装结果 docker --version 第四章:纵观DOc ...

  6. Docker容器学习笔记一

    Docker容器学习笔记一 狂神说B站视频:https://www.bilibili.com/video/BV1og4y1q7M4?p=1 Docker容器学习笔记二:https://blog.csd ...

  7. guido正式发布python年份_Python 基础学习笔记.docx

    Python 基础学习笔记 基于<Python语言程序设计基础(第2版)> 第一部分 初识Python语言 第1章 程序设计基本方法 1.1 计算机的概念 计算机是根据指令操作数据的设备, ...

  8. ASP.Net MVC开发基础学习笔记(5):区域、模板页与WebAPI初步

    http://blog.jobbole.com/85008/ ASP.Net MVC开发基础学习笔记(5):区域.模板页与WebAPI初步 2015/03/17 · IT技术 · .Net, Asp. ...

  9. Python3 基础学习笔记 C09【文件和异常】

    CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...

最新文章

  1. linux系统上搭建vsftp服务
  2. 适合于小团队产品迭代的APP测试流程
  3. thymeleaf报错:Could not load content for xxx /css/bootstrap.min.css.map:HTTP error: status
  4. 爬虫4-正则表达式及Python的re模块
  5. SQL Server数据库占用过多内存的解决方法
  6. 如何正确使用开源项目?
  7. java element string_Java StackTraceElement toString()方法
  8. 编码表概述和常见编码表
  9. mapminmax函数
  10. 超级表格pk王者农药,今天你五杀了么?
  11. 计算机网卡的总线接口分类有,网卡的详细分类是怎样的?以太网卡有将高层数据转换为比特流的功能吗?...
  12. ADS1256在实际应用中遇到的问题总结
  13. Ubuntu18.04美化桌面(主题、图标)
  14. Maven的介绍与安装教程
  15. 自我管理的经典书籍推荐:《自我管理必读12篇》
  16. MySQL的Logo为 标志_MySQL 的Logo为[     ]标志,海豚代表了速度、动力、精确等MySQL所拥有的特性。_国际贸易基础知识答案_学小易找答案...
  17. 简报悦读:教育部取消5类高考加分项目,猿辅导纪录片讲述十年坚守
  18. 职业教育增长,正在“电商化”
  19. python如何实现手眼定标_相机标定(一):机器人手眼标定
  20. 树莓派4B配置ubuntu18.04.5

热门文章

  1. 饿了吗 系统_阿里反击开始!飞猪“100亿”补贴来袭,美团挺得住吗?
  2. 安易网上商品交易系统
  3. 西电春招码奴就业大纲(一)
  4. 基于java+ssm+vue+mysql的电影视频在线点播系统
  5. 深入理解MySQL 5.7 GTID系列(五) gtid_executedgtid_purged什么时候更新
  6. 软件工程(一)—— 软件工程绪论
  7. 页面中插入word文档
  8. 使用python进行数据分析可视化入门指南
  9. 公网ip访问不了修改配置
  10. 让win7彻底摆脱“脱机工作”的骚扰