作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。
我们在上一章,讲了虚拟化,虚拟化是把硬件虚拟化,然后创建出来的虚拟机完全隔离,而Docker则是软件(内核)虚拟化,他的隔离性会低于虚拟机。我们将通过3-4周来讲解Docker相关内容,由于涉及到内容较多,就不一一列出来具体的细节,主要从以下几个方面来讲解:
Docker基本情况
Docker基本命令
Dockerfile
Docker镜像
Docker仓库
Docker原理
Docker网络&存储&日志
Docker-Compose
Docker番外篇(docker)
本小节属于Docker的总结篇,为前面30小节做一个小结,Docker属于一个应用层面软件,需要经常使用,遇到不同的需求和问题,才能加深你对Docker的理解。
Docker 基本情况
1.什么是docker,主要讲解docker的的构成,以及和虚拟机的区别。
2.如何安装docker,主要讲解了几种docker的安装方式,包括在线安装,离线安装和安装指定版本。
3.如何查看docker的详细信息,包括如何通过docker info命令查看docker的信息及主要的数据目录构成情况。
4.daemon.json解释,主要讲解文件daemon.json的文件功能和几种常用需求通过修改docker.json实现。
5.如何启动docker,介绍docker的前台进程以及为什么我的容器启动失败。
6.镜像分层,介绍了镜像和容器的分层可以提供存储效率和上传下载速度。
7.容器的详细信息,通过docker inspect xxx 查看显示docker的容器的详细,以及如何通过这个获取我们需要的信息。
Docker命令
1.生命周期管理,主要包括创建,删除,停止等命令。
2.仓库&镜像&容器操作,主要包括登录仓库,上传下载镜像,离线迁移镜像,进入容器,查看容器日志等命令。
3.run命令详细介绍,主要介绍docker run 常用的参数及意义。
DockerFile
1.介绍了dockerfile里面的基本语法(包括FROM,USER,WORKDIR,RUN等)。
3.重点介绍了CMD和ENTRYPOINT的区别和shell和exec两种写法的区别。
4.介绍了dockerfile的一个实际案例及如何拆解需求。
5.介绍通过镜像分层来分别管理镜像和制作镜像的方法论。
Docker仓库
1.Docker默认仓库的registry的使用方法。
2.介绍compose的基本语法和基本命令。
3.Harbor的部署及需要注意的地方
4.Harbor的使用,包括harbor里面的几个概念和功能的使用。
5.Harbor的运维,主要介绍harbor容器的用途和架构,方便后期排错。
Docker原理
1.资源隔离namecpace,通过资格隔离把,容器封装在一个沙盒环境里面。
2.资源限制cgroup,通过资源限制避免容器之间相互影响。
3.联合文件系统UnionFs,通过镜像分层然后把所有需要用到的东西联合挂载到一起,形成一个整体。
4.写实复制cow,通过联合文件系统+写实复制技术,实现镜像的分层的复用和管理。
Docker网络&日志&存储
1.Docke网络,介绍如何实现修改docker容器的ip地址段以及如何实现不依赖第三方组件实现跨主机通信。
2.Docker日志&volume,介绍docker日志的轮询的配置方法和手工创建管理volume的方法。
Docker番外篇
1.下载镜像,下载镜像过程种中的抓包信息,确认发起请求是什么样的。
2.上传镜像,介绍上传镜像的过程中,registry做了啥操作以及registry的数据目录构成情况。
3.Containerd,介绍了containerd的和docker之间的关系。
4.创建容器,介绍了docker和containerd中间是如何通信的。
5.总结篇
运维小路
一个不会开发的运维!一个要学开发的运维!一个学不会开发的运维!欢迎大家骚扰的运维!
关注微信公众号《运维小路》获取更多内容。