Docker基础篇
1.需要掌握Linux命令,docker命令类似maven,git命令
2.Docker是是解决运行环境和配置问题的软件容器,方便做持续集成有助于整体发布的容器虚拟化技术.
3.Docker类似的框架
JavaEE 要会Java 主要的框架 Springmvc、springbot,mybatis
Docker 要会Go 主要的框架 Swarm/Compose/Machine/mesos/k8s —-CI/CD Jenkins 需要去尚硅谷的区块链内容学习。
5.Docker的出现背景:
开发人员的代码包给运维人员部署时经常出错,但在开发人员的环境中可以正常运行,出现互相扯皮。所以出现了Docker,软件可以带环境安装,把开发人员的环境复制过来。
镜像技术: 镜像包括运行文档,配置环境,运行环境,运行依赖包,操作系统发行版,内核等等。
6.虚拟机和容器虚拟技术的区别:
VM虚拟机技术:资源占用多,冗余步骤多,启动慢,虚拟出一套硬件。
Docker容器虚拟技术:鲸鱼背的的集装箱可以看做是容器,将需要的资源打包到一个隔离的容器中,每个容器有自己的文件系统,容器之间的进程不会相互影响,能区分计算机资源容器将不同的进程隔离。
一个mysql可以装进一个容器,一个ngix可以装进一个容器,将若干个容器运行在新的系统之上。和虚拟机不同的是不需要捆绑一套操作系统,只需要软件需要的库资源和设置。
Docker可以看做是在一个基础版的linux系统,仅安装了业务包含的运行时环境(依赖,应用),一般只有100多M,而功能全面的Centos有4G大小。这样宿主机可以部署100个以上的容器。多个容器共用宿主机的其他的功能,类似打印机,CD。容器内没有自己的内核,也没有进行硬件虚拟,因此容器要比传统虚拟机更为轻便。容器内的应用进程直接运行于宿主的内核(是不是更新宿主只需要更新它的内核就可以了?)
7.Docker三要素:镜像,仓库,容器
镜像是一个只读的模板,可以用来创建容器。镜像怎么来的?暂时可以看做是将很多不同的容器封装成一个镜像。一个镜像可以创建很多容器。容器是用镜像创建的实例
每一个容器都是相互隔离,保证安全的,都可以被启动,开始,停止,删除。对于大公司来说,镜像尤其适合集群安装。
使用docker主要和java后端开发相关,用开发的思维来看更容易理解。
容器相当于对象,镜像相当于类
模板 容器 类
Person p1=new person();
Person p2=new person();
Person p3=new person();
仓库:集中存放镜像的场所。
仓库和仓库注册服务器的区别是 仓库注册服务器上有很多仓库,仓库中包含了不同的镜像,不同的镜像有不同的标签。
仓库有公开仓库和私有仓库两种形式。
最大的公开仓库是 DockerHub
国内的公开仓库有阿里云,网易云。
一些其他的概念和网站:
devops:开发/运维 develops、开发自己运维,一次构建, 随处运行。
docker中文网站: www.docker-cn.com
dockerhub : hub.docker.com 国外网站访问慢,因此可能需要阿里云。 提交运行环境的打包封装,有点像maven的中央仓库。 类似 github.com