当前位置: 首页 > news >正文

docker是什么以及镜像命令详解

Docker 镜像是什么

        Docker image本质上是一个read-only只读文件,这个文件包含文件系统、源码、库文件、依赖、工具等一些运行application所必须的文件

        可以将镜像理解成一个模板或者类,通过这个类或者说模板可以实例化出来很多容器

        image里面是一层层文件系统Union FS。联合文件系统,可以将几层目录挂载到一起,形成一个虚拟文件系统。

        每一层文件系统我们称为一层layer,联合文件系统可以对每一层文件系统设置三种权限,只读(readonly)、读写(readwrite)和写出(whiteout-able),但是docker镜像中的每一层文件系统都是只读的

        构建镜像的时候,从一个最基本的操作系统开始,每个构建的操作都相当于做一层的修改,增加了一层文件系统。一层层往上叠加,上层的修改会覆盖底层该位置的可见性,这也很容易理解,就像上层把底层遮住了一样。当你使用的时候,你只会看到一个完全的整体,你并不知道里面有几层,也不清楚每一层所做的修改是什么。

镜像生活案例

        镜像相当于我们java或者c++中的类,相当于一个模板,可以很方便的构建出来不同的对象。

镜像分层生活案例

我们以日常的地板为例,开发商的房子提供给用户的时候一般是做好了地暖,而这些地暖其实是一层一层添加的,最底层的钢筋水泥层,然后添加保温层,采暖管,再铺设水泥层,到最后交付的时候家家户户都是水泥面,这一层一般是不可修改的,最上层用户一般会再铺设商木地板或者地板砖每家每户的选择不一样,相当于我们镜像的容器层。

为什么需要镜像

        在部署应用时,通过手工或者写一些脚本的方式进行部署。这样部署面临问题就是云端和本地环境一致问题。用户为每个应用打包过程比较繁琐,需要配置和各种修改等操作,非常费劲。

        然而Docker镜像就是为了解决这个小小的打包功能,而出名的。Docker其实就像一个压缩包文件,它解决云端和本地一致性问题的方法很简单,直接把一个镜像制作成完整的操作系统包含所有的文件和对应的目录结构,这样的压缩包是跟你本地和测试环境使用的操作系统一摸一样的。

        docker最大的贡献就是定义了容器镜像的分层存储格式,docker镜像技术的基础就是联合文件系统(UnionFS),其文件系统是分层的。这样即可以充分利用共享层,又可以减少存储空间占用。

        docker镜像提供了一种打包应用程序和预配置服务器环境的便捷方式,可以很方便的将其用于个人用途或与其他Docker用户公开共享。

镜像命令详解

镜像命令清单:

标红字段后面详细讲解

命令

别名

功能

备注

docker images

docker image ls

docker image list

列出本地镜像

必须掌握

docker tag

docker image tag

给镜像打标签,可用于推送镜像仓库

必须掌握

docker pull

docker image pull

从镜像仓库拉去镜像

和镜像仓库命令相同,也可以归类为镜像操作命令,必须掌握

docker push

docker image push

推送镜像到仓库

和镜像仓库命令相同,也可以归类为镜像操作命令,必须掌握

docker rmi

docker image rm

docker image remove

删除本地镜像

必须掌握

docker build

docker image build

通过dockerfile制作镜像

必须掌握

docker save

docker image save

将指定的镜像保存成tar归档文件

必须掌握

docker load

docker image load

导入使用docker save命令导出的镜像

必须掌握

docker image inspect

查看镜像详细信息

必须掌握

docker history

docker image history

查看镜像历史

docker import

docker image import

从归档文件docker export中创建镜像

docker image prune

删除不使用的镜像

docker images

功能:列出本地镜像

语法如下

关键参数

-a

列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层)

--digests

显示镜像的摘要信息

-f

显示满足条件的镜像

--format

指定返回值的模板文件

--no-trunc

显示完整的镜像信息

-q

只显示镜像ID

可以直接输入镜像名称进行过滤

docker tag

功能:标记本地镜像,将其归入某一仓库

语法如下

这里可以看看阿里云的案例,后续我的推送和登录会以案例容器镜像服务为基础

docker pull 和 docker push

拉取官网的镜像看上面的截图

拉取阿里云的镜像

将镜像推送到阿里云

ocker rmi

功能:删除镜像

语法如下

关键参数

-f

强制删除

--no-prune

不移除该镜像的过程镜像,默认删除

docker save

功能:将指定镜像保存成tar归档文件

语法如下

关键参数 -o:输出到文件

docker load

功能:导入使用docker save命令导出的镜像

语法如下

关键参数

--input,-i

指定导入的文件,代替STDIN

--quiet,-q

精简输出信息

docker history

功能:查看镜像的详细信息

语法如下

关键参数

-H,--human

大小和日期采用人容易读懂的格式展现

--no-trunc

显示全部信息,不要阻隔

-q,--quiet

只显示镜像id信息

docker import

功能:从归档文件中创建镜像

语法如下

关键参数

-c

应用docker指令创建镜像

-m

提交时的说明文字

docker image prune

功能:删除不使用的镜像

语法如下

关键参数

-a,--all

删除全部不使用的镜像

--filter filter

指定过滤条件

-f,--force

不提示是否删除;

docker build

功能:docker build命令用于使用Dockerfile创建镜像

语法如下

关键参数

--build-arg=[]

设置创建镜像时的变量

-f

指定要使用的Dockerfile路径

--label=[]

设置镜像使用的元数据

--no-cache

创建镜像的过程中不使用缓存

--pull

尝试去更新镜像的新版本

--quiet,-q

安静模式,成功后只输出镜像ID

--rm

设置镜像成功后删除中间容器

--tag,-t

镜像的名字及标签,通常name:tag或者name格式;可以在一次构建中为一个镜像设置多个标签

--network

默认default。在构建期间设置RUN指令的网络模式

        docker build 是 Docker 的核心命令之一,用于 根据 Dockerfile 构建自定义镜像。它的作用不仅仅是打包文件,而是通过逐层(Layer)执行指令来创建一个可移植、可复现的容器镜像。

http://www.dtcms.com/a/325765.html

相关文章:

  • ROS2学习(1)—基础概念及环境搭建
  • B 树与 B + 树解析与实现
  • 北斗水文环境监测站在水库的应用
  • Linux操作系统从入门到实战(二十)进程优先级
  • 【从零开始java学习|第一篇】java中的名词概念(JDK、JVM、JRE等等)
  • 15. xhr 对象如何发起一个请求
  • VSCode右键菜单消失,修复VSCode右键菜单
  • raid10 允许最多坏几块磁盘,如何修复阵列?
  • lesson35:数据库深度解析:从概念到MySQL实战学习指南
  • 如何使用 Watchtower 实现定时更新 docker 中的镜像并自动更新容器(附 schedule 的参数详细解释)
  • 升级 ChatGPT 提示“您的银行卡被拒绝了”或者“您的信用卡被拒绝了。请尝试用借记卡支付。“如何解决?
  • FPGA+护理:跨学科发展的探索(二)
  • CVPR 2025 | 即插即用,极简数据蒸馏,速度up20倍,GPU占用仅2G
  • 【数字图像处理系列笔记】Ch09:特征提取与表示
  • YOLOv8 训练报错:PyTorch 2.6+ 模型加载兼容性问题解决
  • GPT-5 现已上线 DigitalOcean Gradient™ AI 平台!
  • 数据大集网:精准获客新引擎,助力中小企业突破推广困局
  • UKB-GWAS资源更新
  • C++ 检测 IPv4 和 IPv6 地址合法性
  • 朝花夕拾(一)-------布尔掩码(Boolean Mask)是什么?
  • npm install报错~[master] npm install npm error code ERESOLVE npm err
  • Redis 数据倾斜
  • 触想定制化工业一体机化身渔业预警终端,守望渔船安全
  • 验证二叉搜索树
  • (Arxiv-2025)Phantom:通过跨模态对齐实现主体一致性视频生成
  • 如何安装 Git (windows/mac/linux)
  • CodeBuddy IDE完全食用手册:从安装到生产力爆发的技术流解剖
  • 训推一体 | 暴雨X8848 G6服务器 x Intel®Gaudi® 2E AI加速卡
  • Android Audio实战——获取活跃音频类型(十五)
  • 2025 年国内可用 Docker 镜像加速器地址