在学习Docker之前,本人对Docker只是有个模糊的印象,但是具体能做什么,并不是很清楚,从网上查找到大堆资料,但是帮助有限,所以就想着能把自己学习Docker记录一下,可以当作是学习笔记吧,也希望对那些对Docker有兴趣,但又无从下手的小伙伴们能有所帮助,同时也希望大家能相互交流,共同进步。
注:本人的docker是在window环境下进行的,和Mac 及linux会有所出入。
下面就让我们一起来学习Docker,一起揭开Docker神秘的面纱。
(一)什么是Docker?为什么要使用Docker? Docker和传统虚拟机的区别?
这些小伙伴请自行百度,网上资料描述很细致。在这里不在详细描述,如有不清楚,可参照如下链接:
(二)Docker基本概念(参照Docker--从入门到实践 书籍)
1、镜像(Image):
Docker的镜像实际上是一个虚拟的概念,它和传统的虚拟机 ISO 打包文件不一样,是一个多层文件系统组成的(这就是Docker介绍中的分层存储)。该如何理解呢,我是这样理解的,如果我说的不正确,请指正。就比如一个操作系统,刚装好系统的时候,什么应用程序都没有,我们要听歌,就下载网易云音乐等可以听歌的应用程序。docker就相当与一个初始化的操作系统,什么都没有,只有一些基础的系统参数、配置等,我们安装听歌的应用,这就相当于在此系统上加了一层,但是我们需要注意的是,docker如果加了一层,就不会被删除(只是被打上了删除标记,虽然不会看到,但还是会随着操作系统,就相当与操作系统自带的应用一样,无法彻底删除),所以我们在docker上构建镜像时,一定要额外的小心,每层尽量只包含该层需要的东西就行。
2、 容器(Container)
容器的实质是进程,是独属于自己的独立的命名空间,就相当与传统的虚拟机一样。容器同样也是分层存储的,每个容器运行时,都是以镜像为基础层的,在这方面我们需要注意一个问题,就是如果我们把信息或者数据存储在容器中,这样容器删除后,数据也对随之删除。所以按照Docker最佳实践要求,容器不应该向其存储层写入任何数据,容器存储层要保持无状态化,所有数据存储应该使用数据卷(Volume)、或者绑定宿主目录。
3、仓库(Registory)
这个概念和git仓库是相同的,在不同服务器上使用这个镜像,我们就需要一个集中存储、分发镜像的服务(Docker Registry),阿里云提供(当然还有其他,这里只做举例说明,本人使用的是阿里云)。
(三) Docker 安装
1、docker 命名规则
项目 | 说明 |
版本格式 | YY.MM |
Stable 版本 | 每个季度发行 |
Edge 版本 | 每个月发行 |
同时Docker划分为CE和EE。CE即社区版(免费,支持周期三个月),EE企业版,强调安全,付费使用。
2、Window 10 PC 安装
系统要求:系统虚拟化开启和Hyper-V的启用
1) 在blos下设置Inter virtualization Technology 为 Enable (虚拟化开启)
2)应用和功能--》程序和功能
安装 :
官网 docker for window : 点击打开链接
docker-toolbox 国内镜像:点击打开链接
注意:docker for window(win10) 和 docker toolbox(win 7、win 8)是不兼容的
下载完成后,双击运行,开始安装。(初次安装比较慢,耐心等待...)
配置镜像加速器:
在阿里云开启容器镜像服务,会生成专属的加速器地址,然后在docker--》setting--》 Daemon中配置--》apply 后等待重启
到此 Docker的了解和安装配置到此告一段落。
3、关于其他系统的安装配置请参考
Ubuntu Docker 安装:点击打开链接
CentOS Docker 安装:点击打开链接
希望我的过程,能帮助小伙伴们少踩坑!!!