1.什么是docker

docker是管理容器的引擎,是一种虚拟化技术,更简单的打包技术,更简单的部署服务

2.docker和虚拟机的区别

docker(1)docker基础知识虚拟机:
1.每台虚拟机都需要有自己的操作系统,
2.虚拟机一旦被开启,预分配给它的资源将全部被占用。
3.每一台虚拟机包括应用,必要的二进制和库,以及一个完整的用户操作系统。

docker:
1.容器技术是和我们的宿主机共享硬件资源及操作系统,可以实现资源的动态分配。
2.容器包含应用和其所有的依赖包,但是与其他容器共享内核。
3.容器在宿主机操作系统中,在用户空间以分离的进程运行。

总结:虚拟机要求的资源多而且弹性差,可移植性差,docker共用宿主机的内核,不需要太多的资源,且由于轻量,可移植性高,由于linux内核的迭代很好,且docker是共用宿主机内核的,所以兼容性也很高
docker(1)docker基础知识

3.docker的镜像与容器和仓库

docker(1)docker基础知识
如图:最上层是容器层可以用来写数据,底下都是镜像层,容器层以下所有镜像层都是只读的,容器层保存镜像变化的部分,并不会对镜像本身进行任何修改,最底下是kernel,就是共享的宿主机内核,倒数第二层是基础镜像层,base镜像提供的是最小的Linux发行版,
大概关系是:仓库用来存储镜像,镜像是一个模板,我们要用比如一个nginx的镜像时,先让他在容器里跑起来,然后就能用了,比如我修改了一个它的端口,此时我想保存,这时就可以生成一个基于之前nginx镜像环境下的一个新的改变端口的新镜像,原来的镜像没有改变。

Docker镜像是一个只读的模板。包含了容器运行时所需要的文件系统和一些参数。镜像是无状态的,也不会改变。镜像是用来创建容器的。你可以使用docker pull命令获取一个别人已创建好的镜像,或者使用dockerbuild来构建一个自己的镜像。

所以:
仓库:用来存储镜像
镜像:用来搭建服务
容器:用来跑镜像,并可以形成新的镜像
docker(1)docker基础知识可以看见从registry中拉取镜像,用户再通过docker_deamon将images(镜像)放入容器进行应用

相关文章: