通过前面几篇文章的学习,我们已经安装好了Docker,也学会使用一些常用的命令。比如启动命令、镜像命令、容器命令。常用命令分类后的第二个就是镜像命令。那么镜像是什么?拉取镜像的时候为什么是一层一层的?镜像加载的原理是什么?本篇,我们就来学学,Dokcer镜像的分层概念。
《Docker学习系列》教程已经发布的内容如下:
【图文教程】Windows11下安装Docker Desktop
【填坑】在windows系统下安装Docker Desktop后迁移镜像位置
【Docker学习系列】Docker学习1-docker安装
【Docker学习系列】Docker学习2-docker设置镜像加速器
【Docker学习系列】Docker学习3-docker的run命令干了什么?docker为什么比虚拟机快?
【Docker学习系列】Docker学习2-常用命令之启动命令和镜像命令
【Docker学习系列】Docker学习系列3:常用命令之容器命令
【Docker学习系列】Docker学习4-常用命令之重要的容器命令
镜像是什么?
镜像是一种轻量级、可执行的独立软件包,它包含运行某个软件所需要的所有内容,我们把应用程序和配置依赖打包好形成一个可以交付的运行环境(包括黛米、运行时候需要的库、环境变量和配置文件等),这个打包好的运行环境就是image镜像文件
分层的镜像
我们来从远程仓库pull个Tomcat。来看看整个pull的流程:
命令:docker pull tomcat
我们会发现,下载是一层一层的。所以镜像是分层的
联合文件系统(UnionFS):
联合文件系统(UnionFS):是一种分层、轻量级并且高性能的文件系统。它支持对文件系统的修改
作为一次提交来一层一层的叠加。同时可以将不同目录挂载到同一个虚拟文件系统下。
Union文件系统是Docker镜像的基础。镜像可以通过分层来进行继承。基于基础镜像(没有父镜像[ps:可以理解为Java中的Object类型]),可以制作各种具体的镜像。
特性:
一次同时加载多个文件系统,但从外面看起来,只能看到一个文件系统,联合加载会把各层文件系统叠加起来,这样最终的文件系统包含所有底层的文件和目录。
如同花卷
Docker镜像加载原理是什么?
为什么docker镜像要采用这种分层结构呢?
镜像分层最大的一个好处就是共享资源,方便复制迁移,就是为了复用。
重点理解
Docker镜像层都是只读的,容器层是可写的。当容器启动时,一个新的可写层被加载到镜像的顶部。这一层通常被称作容器层,容器层之下的都是镜像层。
相关推荐
加载镜像:docker load -i jdk8.tar
centos7.6.1810---镜像包dockercentos7.6.1810---镜像包dockercentos7.6.1810---镜像包docker
离线镜像文件大概有3个多G,存放在百度云上面,下面附上我们总结在window10 上和centos 上面创建docker for oracle 12c 容器的经验内容,坑过多少坑了。再也不需要使用安装版的oracle 。 具体: store/oracle/...
node:18.15-alpine镜像的tar文件 使用步骤(确保本地环境已经安装docker) 1、将tar包下载到本地 2、打开终端 3、进入到上述tar包的下载路径 4、运行docker load node-18.15-alpine.tar
ollama+openwebui 镜像 openwebui+docker运行命令 docker import ollama dockerload -i openwenui.tar
dockerDocker教程主要包括Docker的安装、基本概念、镜像管理、容器管理、Docker Compose的使用以及Docker网络等内容。以下是一个详细的Docker教程概述: 一、Docker安装 CentOS系统安装Docker 卸载旧版本(如果已...
推荐理由:一个让你在Docker中运行macOS操作系统的项目。通过仅需两条命令,用户可以在Docker容器中轻松启动一个macOS操作系统。这为开发者提供了一种简单而刺激的方式,让他们可以在非苹果硬件上体验macOS,从而...
linux系统docker离线镜像apisix-2.10.0镜像资源
仅44.5M大小的docker ubuntu镜像 完整的apt支持。使用方式:docker load -i ubuntu_16.04.3-image.tar.gz
gitlab-runner的docker镜像包
本文将指导你如何使用离线的 Docker 镜像包 (docker-mysql-5.7.tar.zip) 来在 Linux 系统中安装并运行 MySQL 5.7 容器。 前提条件 • 已安装 Docker 环境。 • MySQL 5.7 Docker 镜像包 (docker-mysql-5.7.tar....
利用博客(https://blog.csdn.net/qq_34777982/article/details/123924095)...3.查看镜像:docker images | grep etcd 4.利用该镜像创建容器或者推到本地的harbor docker run 或者docker push 希望可以帮助有需要的人
快速创建SSH服务镜像46-实训项目1--快速创建SSH服务镜像47-实训项目1--快速创建SSH服务镜像48-实训项目2--Docker下构建SSH服务镜像49-实训项目2--Docker下构建SSH服务镜像50-实训项目2--Docker下构建SSH服务镜像51-...
快速创建SSH服务镜像46-实训项目1--快速创建SSH服务镜像47-实训项目1--快速创建SSH服务镜像48-实训项目2--Docker下构建SSH服务镜像49-实训项目2--Docker下构建SSH服务镜像50-实训项目2--Docker下构建SSH服务镜像51-...
docker oracle的离线镜像docker-wnameless-oracle-xe-11g.tar,可以导入到内网(无互联网)环境使用,该包是基于wnameless的Oracle打包的,由于网速慢,我是使用 git clone ...
canal-adapter-v1.1.7,docker镜像,参考的制作流程:https://blog.csdn.net/qiaodaima0/article/details/125561823?spm=1001.2014.3001.5501
linux系统docker离线镜像apisix-dashboard-2.9.0镜像资源
使用busybox环境和mysql5.7.12封装的docker镜像 docker load -i mysql_5.7.12-image.tar.gz 导入后可以直接使用
docker镜像 mysql-5.7.44.tar