当前位置: 首页> 汽车> 报价 > 手机免费制作ppt的软件下载_vi设计培训公司_百度指数介绍_长春网站建设方案优化

手机免费制作ppt的软件下载_vi设计培训公司_百度指数介绍_长春网站建设方案优化

时间:2025/8/23 17:37:10来源:https://blog.csdn.net/aijson_update/article/details/146311780 浏览次数: 0次
手机免费制作ppt的软件下载_vi设计培训公司_百度指数介绍_长春网站建设方案优化

Docker 的需知概念

学习一门技术,不仅仅只是会用,还需要理解为什么要这样,这也是我为什么写这篇笔记的原因-

为什么用docker

没有用docker 之前,可能有一种情况似曾相识,当上线时,突然间发现开发者机上面的可以运行的包 打包上去,运行不起来,常常因为环境的不对成 导致通宵,这是很难受的事。

我们可能要搭建集群,比如mysql,redis ,各种中间件,每部署到一台机上面 都要重复来一次,尤其当你打开linux 系统 ,发现安装包都没有,你需要安装jdk ,需要安装各种软件,到了另外一台机又要重复执行一次,哪怕传统可以保存一个快照,镜像复制,但是多多少少不好管理。

公司经费紧张,在一台服务器塞满了很多进程,可能一个进程出错,整台服务器重启,这对生产环境影响很大,还有每个服务峰值使用量过大,导致服务挂了,要么就jvm 设置比较大,还有空余的内存没有好好压榨。

docker的优势就出来了,相对于vm,我在网上

image-20201026153912429

docker是基本组成的呢?

image-20201026154244047

  • 镜像 (image):类似于模板,镜像可以用来创建容器,同样的镜像可以创建很多容器,就类似于类文件可以实例多个对象一样
  • 容器(container):Docker 利用容器 独立运行一个或一组应用。容器是用镜像创建的运行实例。可能一个容器里面就有多个应用,每个容器都是互相隔离独立运行。
  • 仓库(Repository):仓库是集中存放镜像文件的场所。仓库分为公开仓库(Public)和私有仓库(Private)两种形式。最大的公开仓库是 Docker Hub(https://hub.docker.com/),国内的公开仓库包括阿里云 、华为云等

docker 的架构图

image-20201026154931219

docker run 的执行流程

image-20201026155137218

UnionFS(联合文件系统)

说这个之前,我们看看镜像装着啥,可能装着应用和应用的基本环境,如果每个镜像都需要共用这些,可能导致镜像特别臃肿,所以如果我们能把共用的东西抽取出来,那么可以大大节约内存,加上镜像本身就是可复用的。

docker 解决了这个问题,UnionFS(联合文件系统)

Unionfs 是2004年在stony brook大学开始的,它是一个可叠放的联合文件系统,它能够联合多个目录(因此可称为分支)同时独立地保持它们的物理内容。它允许任何ro和rw分支的 结合,同时允许在分支中修改和删除不使用的分支。Unionfs可以使用在几个方面,例如联合在不同磁盘上的不同的文件系统到一个home目录,或者把几 张cd合并成一个统一的归档镜像。所以,具有复制可写功能的unionfs可以用来把ro和rw的文件系统合并起来,并且实现了允许修改只读文件系统并把 这些修改保存在可写文件系统。

大概意思就是 镜像中 还含有多个 分支的文件,镜像由这些分支的文件组装起来,这些每个文件都可以可读写,把这些文件合并起来就是镜像,当然镜像更新时 ,提交时也交给Unionfs 管理,只更新修改部分即可,类似git 的文件系统。

Docker镜像加载原理

dockers 镜像不只是 UnionFS ,找一张图来解释一下

image-20201026162933559

通过查看 docker image 的发现,docker 镜像是分层 组成,套娃

img

**bootfs(boot file system):**主要包含bootloader和kernel, bootloader主要是引导加载kernel, Linux刚启动时会加载bootfs文件系统,在Docker镜像的最底层是bootfs。这一层与我们典型的Linux/Unix系统是一样的,包含boot加载器和内核。当boot加载完成之后整个内核就都在内存中了,此时内存的使用权已由bootfs转交给内核,此时系统也会卸载bootfs。

**rootfs (root file system) :**在bootfs之上。包含的就是典型 Linux 系统中的 /dev, /proc, /bin, /etc 等标准目录和文件。rootfs就是各种不同的操作系统发行版,比如Ubuntu,Centos等等。

在上面一层 属于应用层,也是我们最经常更新的层

Docker 容器的数据卷

docker 中 容器独立运行,一旦rm 就连同数据一起删除了,假如我们装了个mysql ,然后把数据库删了,真正意义做到了删库跑路了哈哈哈,这是不对的,所以dockers 对这种需要持久化保存的,或者容器与容器间需要共享的数据,比如我们有两个mysql 客户端希望通过操作一个 数据文件,当然这种方式不太好。我们应该怎么办?

能不能 把数据都存在 一个公共的地方,比如宿主机上面?

当然可以啦。挂在数据卷就好了,而且还能做到 同步

docker run -it -v /宿主机目录:/容器内目录 centos /bin/bash

具名挂载 和 匿名挂载

什么意思呢 ,我们挂载的目录,docker 都称为卷,当我们 启动容器的时候,有设置 卷名时,我们可以快速找到挂载的路径。如果没有指定,docker 也帮我们保存到本地中,以一个匿名卷形式保存。
存放在 本地 /var/lib/docker 下
此外还有一种方式啊 就是上面这种宿主机和 容器内目录的挂载 # Docker 的需知概念

学习一门技术,不仅仅只是会用,还需要理解为什么要这样,这也是我为什么写这篇笔记的原因-

关键字:手机免费制作ppt的软件下载_vi设计培训公司_百度指数介绍_长春网站建设方案优化

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: