Docker笔记1(基本概念)

为什么用Docker?

代码在不同的环境和配置下,可能出错。
开发人员和运维人员之间的矛盾。
在这里插入图片描述

在这里插入图片描述
以前提交代码,现在提交镜像
以前搬家,现在搬楼。

Docker理念

Docker是由Go语言实现的云开源项目。
docker理念,一次构建,处处运行。
在这里插入图片描述
虚拟机缺点
1.资源占用多
2.冗余步骤多
3.启动慢

docker可以理解为是一个精华版,缩减版,高速版的linux操作系统。

在这里插入图片描述

为什么Docker比虚拟机快?

在这里插入图片描述

Docker组成

主要组成:
镜像 容器 仓库
镜像就是模板,类比类class
容器就是镜像的实例,类比对象object
一个类可以有多个对象
一个镜像可以有多个容器

在这里插入图片描述
仓库是存放镜像的地方
在这里插入图片描述
我们把应用程序(代码+环境+配置+数据等等)配置打包形成一个运行环境,就是image镜像文件,然后根据镜像文件生成不同的容器实例,容器实例对应不同的服务,如redis,mysql等。

镜像原理

镜像是什么?

镜像是轻量级的,可执行的软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码,运行时,库,环境变量和配置文件等。
在这里插入图片描述
bootfs和rootfs
bootfs主要包含bootloader和kernel内核。bootfs是镜像的最底层。
rootfs在bootfs之上,是各种不同的操作系统发行版,如Ubuntu,Centos等等。
在这里插入图片描述
为啥docker上的linux操作系统很小?
因为在docker上下载的linux操作系统共用docker的bootfs,需要下载的是rootfs部分。而且底层都是直接用宿主机的内核。
在这里插入图片描述
为什么tomcat在docker中很大?
因为它里面包含了能运行tomcat整个环境所需要的其他配置软件。如jdk8,centos,kernel等。这就是联合文件系统(花卷)

在这里插入图片描述

为什么docker要采用这种分层镜像?
为了共享资源,这好比maven里面的本地仓库里面的jar包。
在这里插入图片描述

发布了24 篇原创文章 · 获赞 14 · 访问量 653

猜你喜欢

转载自blog.csdn.net/weixin_44860598/article/details/105127300