Docker理解

Docker的核心思想:隔离!沙箱机制

一、Docker优点

虚拟机技术:虚拟出一条硬件,运行一个完整的操作系统,然后再这个系统上安装和运行软件
在这里插入图片描述
缺点:资源占用多,冗余步骤多,启动很慢

Docker:容器内的应用运行在宿主机上,没有自己的内核,也没有虚拟硬件,所以比虚拟机轻便,而且每个容器之间是互相隔离的,每个容器内都有一个属于自己的文件系统,互不影响。
在这里插入图片描述
在Docker中,打包镜像,发布测试,一键运行,可以更便捷的升级和扩缩容!

比如说一个项目,用到了SpringBoot 1.5,Redis 5 ,Tomcat 8,如果现在要给tomcat升级,那我需要给tomcat升级之后,再结合SpringBoot 1.5和Redis 5进行联调测试,非常麻烦。可是如果用了Docker之后,把整个项目打包为一个镜像,只需要把这个包升级一下,然后运行就可以了!

另外,Docker是内核级别的虚拟化,可以在一个物理机上运行很多的容器实例,服务器的性能可以被压缩到极致!

总的来说,Docker的优点有:

1.应用可以更快速的交付和部署。
2.更便捷的升级和扩缩容.
3.更简单的系统运维
4.更高效的计算资源利用

Docker为什么比虚拟机要快?
一张图就明白了。
首先Docker比虚拟机有着更少的抽象层,其次Docker利用的是宿主机的内核,而vm需要的是Guest OS,所以说新建一个容器的时候,Docker不需要像虚拟机一样重新加载一个操作系统内核,避免引导。
也就是说,虚拟机是要加载Guest OS的,属于分钟级别,而Docker是利用宿主机的操作系统,省略了这个复杂的过程,是秒级的,所以更快!
在这里插入图片描述

二、Docker组成

在这里插入图片描述
镜像(image)
Docker镜像好比是一个模板,可以通过这个模板来创建容器服务!比如Tomcat镜像,run之后,可以创建一个tomcat01容器,再run,可以创建tomcat02容器。。。也就是说,一个镜像可以创建多个容器,最终服务运行或者项目运行就是在容器中的!

容器:
Docker利用容器技术,独立运行或者一个组的应用,容器是通过镜像来创建的,可以执行启动,停止,删除等等基本命令!

仓库:
仓库就是存放镜像的地方,仓库分为共有仓库和私有仓库!
docker中执行run的流程图:

三、run流程和Docker原理

run的流程:比如执行 # docker run hello-world 命令时,
在这里插入图片描述
内部流程如下:
在这里插入图片描述

Docker是如何工作的?(底层原理)

Docker是一个Client - Server 结构的系统,Docker的守护进程运行在主机上,通过Socker从客户端访问,DockerServer接收到Docker - Client的指令之后,就会执行这个命令!
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值