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的镜像,一个红框说明一层。
如下图:repository 名称是tomcat,标签(tag)是latest 表示最新版本。
参考:
https://www.imooc.com/learn/867
http://dockone.io/article/2387
https://blog.csdn.net/xiangxizhishi/article/details/79441391
《Dockers 入门到实战》