Q: Dokcer是什么?

A: 是一种虚拟化技术。参考https://www.imooc.com/learn/867快速了解Docker。

Q: 传统虚拟机技术和Dokcer的区别?

A: 传统虚拟机技术是虚拟出一套硬件后,在其运行一个完整的操作系统,再在该系统上运行所需要的应用进程;而dokcer容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,也没有进行硬件虚拟,所以docker技术比传统的虚拟机技术更轻便。详细可参考:虚拟机技术和Dockers的区别

  

Q:哪里使用了 Dokcer

A:docker的用途通常隔离不同的应用,例如前端 后端 数据库,以及一些独立的功能模块。在微服务领域这块,应用非常广。看看他人的说法 http://dockone.io/question/89

Q: Docker的优势?

A: Build Once,Run Anywhere. 参考 https://blog.csdn.net/xiangxizhishi/article/details/79441391

基本概念

Docker 是Google公司已Go语言开发 的,基于Linux内核的cgroup ,namesapce,以及AUFS类的Union FS等技术,对进程进行封装隔离,属于操作系统层面上的虚拟化技术。

Docker三个基本概念,了解这三个基本概念,就了解了docker的生命周期

  • 镜像(Image)
  • 容器(Container)
  • 仓库(Repository)

镜像(image)

  镜像提供容器运行时所需要的程序,资源、配置文件等,是一个特殊的文件系统。是容器运行的基础。

  镜像是多层文件系统组成的,是一个分层存储的架构,在镜像的构建中,会一层层的构建,每一层构建完成就不会发生改变,后一层的改变只会在自己这一层发生改变。删除前一层的文件操作,实际上不会删除前一层的文件,而是仅仅在该层将文件标记为删除,实际上还存储在前一层。因此在镜像的构建过程中,只尽量的添加该层需要的文件,任何和该层无关的文件要清理。

如下图:我们拉取一个tomcat的镜像,一个红框说明一层。

容器(container)
  容器的实质就是进程,与直接在宿主机运行的进程不同,容器进程运行在一个属于自己独立的命名空间中,有自己独立的root文件系统,网络配置,自己的进程空间。镜像和容器的关系就像是 类和对象实例的关系,镜像是静态的定义,容器是运行时的实体,可以被创建、暂停、删除,启动、停止等。
  镜像是分层存储的,容器也是分层存储,容器以镜像为基础层,创建一个当前容器存储层,称为容器存储层,为容器运行时读写而准备。容器存储层的生命周期和容器是一致的,容器消亡时,容器存储层的数据也会消失。按照Docker的最佳实践,容器存储层需要保持无状态化,不应该向容器层写入数据。容器的写入操作应该使用数据卷(volume)或者绑定宿主目录,跳过容器存储层直接对宿主机或者网络存储进行读写,性能和稳定性更好。
 
仓库(repository)
  镜像构建完成之后,可以在宿主机运行,但是需要在其他服务器上运行这个镜像,需要一个集中存储、发布镜像的一个服务,Docker Registry就是这样的服务。Docker Registry可以包含多个仓库,每个仓库包括多个标签,每个标签表示一个镜像。
 
Repository 和 Registry 不要混淆:Repository 是仓库,集中存放镜像的地方,Registry是注册服务器,就是管理仓库的具体服务器,每个服务器上可以有多个仓库,每个仓库下面有多个镜像。例如仓库地址dl.dockerpool.com/ubuntu ,dl.dockerpool.com是服务注册地址,ubuntu是仓库名。

如下图:repository 名称是tomcat,标签(tag)是latest 表示最新版本。

参考:

https://www.imooc.com/learn/867

http://dockone.io/article/2387

http://dockone.io/question/89

https://blog.csdn.net/xiangxizhishi/article/details/79441391

《Dockers 入门到实战》

<Docker学习>1. 简介的更多相关文章

  1. 1.docker学习之简介

    什么是Docker Docker是一个开源的应用容器引擎.通俗来说:所谓开源,就是指Docker是开放源代码的,比如用户可以免费使用该源代码, 并在该源代码的基础上自由修改或传播.所谓引擎,指的是程序 ...

  2. docker学习笔记-简介

    零.什么是Docker 是一个基于GO语言开发的开源 应用容器: 开发者可以打包应用和相关包,到一个 轻量级 . 可移植 的 容器 中,并且可以发布到 任何机器 ,实现 虚拟化: 完全使用 沙箱机制, ...

  3. Docker学习记录--入门了解+安装

    Docker简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制, ...

  4. Docker学习(一): 基本概念

    特别声明: 博文主要是学习过程中的知识整理,以便之后的查阅回顾.部分内容来源于网络(如有摘录未标注请指出).内容如有差错,也欢迎指正! =============系列文章============= 1 ...

  5. Docker学习-Kubernetes - 集群部署

    Docker学习 Docker学习-VMware Workstation 本地多台虚拟机互通,主机网络互通搭建 Docker学习-Docker搭建Consul集群 Docker学习-简单的私有Dock ...

  6. Docker学习-从无知到有知的学习过程

    Docker学习 最近被别人提到的docker吸引到了注意力,所以打算先快速的了解一下docker到底是个上面东西. 之所以我写下这个文档呢,是为了记录对docker一无所知我是如何进行学习一门新技术 ...

  7. Docker学习—Machine

    前言 前面<Docker学习-Compose>文中介绍了Compose的使用方式:接下来继续了解docker三剑客之一的 Machine: 一.Docker Machine简介 1.什么是 ...

  8. docker学习笔记(3)- 镜像

    简介 在docker学习笔记(1)- 架构概述一节中可以看到镜像是docker三大组件之一,可以将Docker镜像类比为虚拟机的模版. 镜像由多个层组成,每层叠加之后从外部看就像一个独立的对象,镜像的 ...

  9. Docker学习总结

    本文作为总结性文章,不会详细讲解Docker.但会把已学习的.了解的内容按照由易到难的顺序串起来,更多的是帮助Docker新手快速的了解Docker,知道目前处在哪个阶段,接下来该学些什么,避免碰太多 ...

随机推荐

  1. sed 处理一行,替换 删除

    sed option 'action' filename (文件可多个) option: -i 直接在原文件中修改! -n 安静模式,默认情况所有数据都会被列出,但-n只有经过动作处理的那一行才被列出 ...

  2. UITableViewCellStyle 四种样式

    四种样式如下:

  3. ubuntu下apk的反编译

    今天调试一个程序的时候,因为需要上传数据到服务器,但是程序太过久远了,服务器上传的地址就忘记了,但是源码又不在我这里,因为要的急所以就被逼无奈的情况下想到了反编译,我用的是Linux Mint 14. ...

  4. 解决ARCGIS10.2与VS2013不兼容

    在注册表中HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0增加类型为REG_SZ的InstallDir节点.Ins ...

  5. 牛客NOIP提高组(三)题解

    心路历程 预计得分:$30 + 0 + 0 = 30$ 实际得分:$0+0+0= 0$ T1算概率的时候没模爆long long了... A 我敢打赌这不是noip难度... 考虑算一个位置的概率,若 ...

  6. Oracle 用户相关

    1.查询所有未修改过密码的Oracle用户 SELECT * FROM dba_users_with_defpwd d, dba_users du WHERE du.account_status = ...

  7. Yii2.0 高级版安装 windows

    最近在学习yii2.0 在安装高级版的时候遇到一些问题 索性解决了 下面分享一下 一.关于下载 自行百度,在Yii Framework 中文社区 下载专区下载高级应用程序模板(这边下载用电信网络不用下 ...

  8. Ubuntu 14.04 安装caffe深度学习框架

    简介:如何在ubuntu 14.04 下安装caffe深度学习框架. 注:安装caffe时一定要保持网络状态好,不然会遇到很多麻烦.例如下载不了,各种报错. 一.安装依赖包 $ sudo apt-ge ...

  9. tp3.2.3自定义全局函数的使用

    全局函数的定义,好处就是我们可以跨文件使用,而且调用方式可以直接调用,十分方便,在这里做个小记录 1.在Application/Home/Common目录下面新建一个名为function.php的文件 ...

  10. windows xp professional 序列号(密钥)及百度网盘下载地址

    HH7VV-6P3G9-82TWK-QKJJ3-MXR96 https://pan.baidu.com/share/link?uk=4247247642&shareid=500360