Docker 必知必会----初识
什么是Docker?
Docker 是一个开源的容器管理引擎。开发者可以通过Docker直接管理应用程序所需要的容器。它的logo如下:

为什么需要Docker
使用Docker主要有两个原因,
1、屏蔽不同环境的硬件差异,减轻开发人员在不同环境上,为了适配环境差异所需要做的工作。如各项系统配置、环境变量、基础包等。
2、统一服务部署的和执行的差异,让环境部署统一化流程化。(防盗连接:本文首发自http://www.cnblogs.com/jilodream/ )
以上是笔者在长期使用docker后的认知。如果你第一次接触docker,或者只是听过docker的大名,感觉上文说的很模糊,则不必关注这些细节,
使用多了自然有自己的体会。你只需要知道Docker是类似于虚拟机的一个新兴产品。他可以统一管理各类虚拟机的安装和运行。注意这里是类似,docker虽然和虚拟机一样都是通过虚拟化技术来实现程序以及运行环境的部署和运行,但是二者在设计和实现中有着本质的区别。docker更加轻量级,占用的系统资源更少,响应速度也更快,更便捷。这也是为什么虚拟化技术推广了很多年,传统的虚拟化机一直不温不火,而docker一经推出后,才真正带动了这个市场。以下是我找到的一些两者的对比资料:

接下来讲讲docker的一些基本概念:
镜像:
docker中最基本的概念之一,可以理解为编程语言中的类。或者理解为某一个虚拟机的安装包。
容器:
docker中最基本的概念之一,可以理解为编程语言中的对象。也就是镜像实例化后的产物。再粗糙一点,可以说是虚拟机安装包后实际运行起来的应用程序。
DockerFile:
一个用来描述docker 镜像制作流程的声明式的脚本文件。该文件会描述镜像的制作流程以及环境变量等系统参数。但是不要担心,我们在制作镜像时,并不是从0开始写一个镜像,而是基于某一个基础镜像来制作的。常用的基础镜像早已由各个的生产厂商制作好了。我们直接拿来使用即可。至于如何编写DockerFile,会在后文中介绍。(防盗连接:本文首发自http://www.cnblogs.com/jilodream/ )
镜像仓库:
镜像仓库也就是保存在远端的用于存储镜像的仓库。我们在使用镜像时,需要将远端的仓库中的镜像先下载到本地,然后本地在根据镜像,生成对应的容器。
镜像仓库可以是外部开发的镜像仓库,也可以是出于安全考虑,自己搭建的仓库服务,常用的有harbor。
大家有没有发现其实docker的设计思路和maven非常想象。
公共组件放置在远端仓库(镜像仓库),本地需要就下载。下载下来各种包(镜像)以后,我们直接使用实例(容器)。
在回到docker,docker 的logo如上图,是一条鲸鱼,承载着各个集装箱。
集装箱在英文为Container [kənˈteɪnər],也就是容器的意思。
docker 是什么意思,[ˈdɑːkər] 码头工人。也就是说docker 就是一个容器的管理系统,负责组装、搬运、卸载我们的容器。
Docker 必知必会----初识的更多相关文章
- 读书笔记汇总 - SQL必知必会(第4版)
本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...
- 读书笔记--SQL必知必会--建立练习环境
书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL in 10 Minutes - Fourth Edition> MyS ...
- 读书笔记--SQL必知必会12--联结表
12.1 联结 联结(join),利用SQL的SELECT在数据查询的执行中联结表. 12.1.1 关系表 关系数据库中,关系表的设计是把信息分解成多个表,一类数据一个表,各表通过某些共同的值互相关联 ...
- 读书笔记--SQL必知必会18--视图
读书笔记--SQL必知必会18--视图 18.1 视图 视图是虚拟的表,只包含使用时动态检索数据的查询. 也就是说作为视图,它不包含任何列和数据,包含的是一个查询. 18.1.1 为什么使用视图 重用 ...
- 《MySQL 必知必会》读书总结
这是 <MySQL 必知必会> 的读书总结.也是自己整理的常用操作的参考手册. 使用 MySQL 连接到 MySQL shell>mysql -u root -p Enter pas ...
- 《SQL必知必会》学习笔记(一)
这两天看了<SQL必知必会>第四版这本书,并照着书上做了不少实验,也对以前的概念有得新的认识,也发现以前自己有得地方理解错了.我采用的数据库是SQL Server2012.数据库中有一张比 ...
- SQL 必知必会
本文介绍基本的 SQL 语句,包括查询.过滤.排序.分组.联结.视图.插入数据.创建操纵表等.入门系列,不足颇多,望诸君指点. 注意本文某些例子只能在特定的DBMS中实现(有的已标明,有的未标明),不 ...
- .NET程序员项目开发必知必会—Dev环境中的集成测试用例执行时上下文环境检查(实战)
Microsoft.NET 解决方案,项目开发必知必会. 从这篇文章开始我将分享一系列我认为在实际工作中很有必要的一些.NET项目开发的核心技术点,所以我称为必知必会.尽管这一系列是使用.NET/C# ...
- 0005 《SQL必知必会》笔记01-SELECT语句
1.SELECT基本语句: SELECT 字段名1,···,字段名n FROM 表名 2.检索所有字段,用"*"替换字段名,这会导致效率低下 SELECT * FROM 表名; 3 ...
- 2015 前端[JS]工程师必知必会
2015 前端[JS]工程师必知必会 本文摘自:http://zhuanlan.zhihu.com/FrontendMagazine/20002850 ,因为好东东西暂时没看懂,所以暂时保留下来,供以 ...
随机推荐
- WPF实现树形表格控件(TreeListView)
前言 本文将探讨如何利用WPF框架实现树形表格控件,该控件不仅能够有效地展示复杂的层级数据,还能够提供丰富的个性化定制选项.我们将介绍如何使用WPF提供的控件.模板.布局.数据绑定等技术来构建这样一个 ...
- #链表#CF706E Working routine
题目 给出一个 \(n*m\) 的矩阵,每次交换两个等大的矩阵,输出 \(q\) 次操作后的矩阵 分析 维护向右和向下的指针,考虑最后输出只需要从每行的头指针向右跳, 那么修改实际上是将矩阵左边一列. ...
- JDK10的新特性:var泛型和多个接口实现
目录 简介 实现多个接口 使用多个接口 使用var 总结 简介 在JDK10的新特性:本地变量类型var中我们讲到了为什么使用var和怎么使用var. 今天我们来深入的考虑一下var和泛型,多个接口实 ...
- C 语言函数完全指南:创建、调用、参数传递、返回值解析
C 语言中的函数 函数是一段代码块,只有在被调用时才会运行. 您可以将数据(称为参数)传递给函数. 函数用于执行某些操作,它们对于重用代码很重要:定义一次代码,并多次使用. 预定义函数 事实证明,您已 ...
- Matplotlib绘图设置--- 图例设置
plt.legend()和ax.legend()参数设置 自动会将每条线的标签与其风格.颜色进行匹配. plt.legend(*args, **kwargs) Place a legend on th ...
- 遵循这些MySQL设计规范,再也没被组长喷过
分享是最有效的学习方式. 博客:https://blog.ktdaddy.com/ 故事 会议室里,小猫挠着头,心里暗暗叫苦着"哎,这代码都撸完了呀,改起来成本也太大了." 原来就 ...
- HarmonyOS应用事件打点开发指导
简介 传统的日志系统里汇聚了整个设备上所有程序运行的过程流水日志,难以识别其中的关键信息.因此,应用开发者需要一种数据打点机制,用来评估如访问数.日活.用户操作习惯以及影响用户使用的关键因素等关键 ...
- CS101
Turing machine:图灵机 理论上可以计算任何东西 CPU(Center Process Unit):中央处理器 是现代电脑的"大脑",其中包含数十亿细小开关的硅片,即晶 ...
- 力扣219(java&python)-存在重复元素 II(简单)
题目: 给你一个整数数组 nums 和一个整数 k ,判断数组中是否存在两个 不同的索引 i 和 j ,满足 nums[i] == nums[j] 且 abs(i - j) <= k .如果存在 ...
- OpenKruise v0.8.0 核心能力解读:管理 Sidecar 容器的利器
简介: OpenKruise 是阿里云开源的云原生应用自动化管理套件,也是当前托管在 Cloud Native Computing Foundation (CNCF) 下的 Sandbox 项目.它来 ...