网络知识 娱乐 【云原生】Docker中如何创建个人专属的镜像,确定不进来看看?

【云原生】Docker中如何创建个人专属的镜像,确定不进来看看?

🏡  博客首页:派 大 星

⛳️  欢迎关注  ❤️ 点赞  🎒 收藏  ✏️ 留言

🎢  本文由派大星原创编撰

🚧  系列专栏:Docker—云原生

🎈  本系列记录容器化技术的初次探险与深入思考历程,如有描述有误的地方还望诸佬不吝赐教


在这里插入图片描述


文章目录

      • 🍇 是什么
      • 🍓 分层的镜像
      • 🍒 UnionFS(联合文件系统)
      • 🌍  Docker镜像的加载原理
      • 🥝  动动手提交属于自己的镜像
        • 🌽  演示为Ubuntu安装vim
      • 🔔 🔔 🔔 E n d i n g 🔔 🔔 🔔 🔔 🔔 🔔 Ending 🔔 🔔 🔔 🔔🔔🔔Ending🔔🔔🔔

🍇 是什么

镜像是一种轻量级、可执行的独立软件包、它包含运行某个软件所需的所有内容,我们把应用程序和配置依赖打包好形成一个可交付的运行环境
(包括代码、运行时需要的库、环境变量和配置文件等)
这个打包好的运行环境就是image镜像

🍓 分层的镜像

为什么说Docke的镜像是分层的呢?以拉取镜像为例,在拉取镜像的过程中可以看到Dock的镜像好像是在一层一层的下载

在这里插入图片描述

🍒 UnionFS(联合文件系统)

UnionFS(联合文件系统):Union文件系统是一种分层、轻量级并且高性能的文件系统,它支持对文件系统的修改操作为一次提交来一层层的叠加,同时可以将不同目录下挂载到同一个虚拟文件系统下(uniteseveral directories into a single virtual filesystem)。Union文件系统时Docker镜像的基础。镜像可以通过分层来进行继承,基于镜像的基础(没有父镜像),可以制作各种具体的应用镜像。就像搭积木一样,一块一块的搭建起来,成为各种形状的玩具,最后把整体暴露出来,而对于Docker而言,就是一次同时加载多个文件系统,从外面看起来只有一个文件系统,联合文件会把各层文件系统叠加起来,这样最终的文件系统会包含所有的底层文件和目录

在这里插入图片描述

🌍  Docker镜像的加载原理

Docker的镜像实际上由一层一层的文件系统组成,这种层级的文件系统就是上述所介绍的联合文件系统UnionFS
bootfs(boot file system)主要包含bootloaderkernel,.bootloader主要是引导加载kernel,.Linux刚启动时会加载oootfs文件系统,在Docker镜像的最底层是引导文件系统bootfs。这一层与我们典型的Linux/Unix系统是一样的,包含boot加载器和内核。当boot加载完成之后整个内核就都在内存中了,此时内存的使用权已由bootfs转交给内核,此时系统也会卸载bootfs
rootfs(root file system),在bootfs之上。包含的就是典型Linux系统中的/dev,proc,bin,/etc等标准目录和文件。rootfs就是各种不同的操作系统发行版,比如Jbuntu,Centos等等。

而Docker采用这种分层的结构的最大好处就是资源共享,方便复制迁移也就是提高了复用性。
在这里插入图片描述
注: Docker镜像层都是只读的,容器层是可写的

🥝  动动手提交属于自己的镜像

如何去提交容器成为一个新的镜像呢?
可以使用Docker命令来提交一个属于自己的镜像,给原本单调的镜像重新赋予“生命力”
操作命令如下:
docker commit 提交容器副本使之成为全新的镜像
docker commit -m="" 可以在提交时描述一些基本信息
docker commit -a="" 可以填写上作者的名称

🌽  演示为Ubuntu安装vim

首先拉取Ubuntu镜像后才可以进行接下来的操作

# 1. 拉取Ubuntu镜像
docker pull ubuntu
# 2. 启动镜像
docker run -it ubuntu /bin/bash

在这里插入图片描述

在Docker中拉拉取的Ubuntu是一个简易版的Linux系统,它只包含一些主要的功能,原始默认的Ubuntu镜像是不带vim命令的

在这里插入图片描述

外网连通的情况下,为Docker中的Ubuntu安装vim

# 首先更新包管理工具 
apt-get update

在这里插入图片描述

# 其次安装vim 
apt-get install vim

在这里插入图片描述

此时在使用vim命令就可以编辑文件了!

在这里插入图片描述

最后执行命令来提交带有vim的Ubuntu镜像吧!

在这里插入图片描述

🔔 🔔 🔔 E n d i n g 🔔 🔔 🔔 🔔 🔔 🔔 Ending 🔔 🔔 🔔 🔔🔔🔔Ending🔔🔔🔔

在这里插入图片描述