Docker--Docker Image(镜像)

[复制链接]
发表于 2024-12-1 04:35:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
什么是Docker Image?

Docker镜像(Docker Image)是Docker容器技术的焦点组件之一,它包含了运行应用程序所需的所有依靠、库、代码、运行时情况以及配置文件等。
简朴来说,Docker镜像是一个轻量级、可实行的软件包,它封装了应用程序及其运行情况,使得应用程序可以在任何支持Docker的平台上以相同的方式运行。
关键特性:


  • 条理化布局:Docker镜像采取条理化布局,每个镜像都是基于一个或多个基础镜像(父镜像)构建的。通过添加新的条理(如文件、配置、依靠等),可以创建新的镜像。这种条理化布局使得镜像的共享和重用变得高效。
  • 只读性:Docker镜像在构建完成后是只读的。当运行一个容器时,Docker会在镜像的基础上创建一个可写的层(称为容器层),用于存储运行时的数据更改。这种设计保证了镜像的不可变性,使得镜像的分发和摆设更加可靠和安全。
  • 构建与分发:Docker镜像可以通过Dockerfile文件来定义和构建。Dockerfile包含了一系列指令,用于指定镜像的构建步调和依靠关系。构建完成后,镜像可以被推送到Docker镜像堆栈(如Docker Hub)进行分发和共享。
  • 运行容器:Docker容器是Docker镜像的运行实例。通过运行Docker镜像,可以创建一个或多个容器,这些容器在隔离的情况中运行应用程序。容器之间以及容器与宿主机之间通过特定的机制进行通信和资源管理。
  • 版本控制:Docker镜像支持版本控制,可以通过标签(Tag)来标识不同的版本。例如,一个镜像可以有多个标签,如latest、1.0、2.0等,用于表现不同的版本或发布阶段。
Docker Image 常用命令

docker rmi

删除一个或多个在当前服务器的镜像;假如镜像有多个tag,带上tag可以对具体tag的镜像进行删除;
   利用 docker rmi [OPTIONS] IMAGE [IMAGE…]
别名 docker image remove docker image rm
    参数:
  OptionDescription-f, --force强制对镜像进行删除–no-prune不删除未标记的父项  例子:
  1. docker images
复制代码


由于该镜像ID被打上了多个标签,以是没有办法通过ID直接删除;
只能通过镜像名称[taged]来进行删除:

假如镜像有对应容器在运行,那么无论通过镜像ID还是名称[taged]的方式都是无法删除的,必须先删除已经存在的容器(无论是否正在运行的还是退出的):
  1. docker ps
  2. docker rmi nginx:1.23.4
  3. docker rmi a7be6198544f
复制代码

  1. docker ps -a | grep nginx:1.23.4
复制代码

逐个删除已经删除的容器:

  1. docker rmi nginx:1.23.4
复制代码

最终删撤除镜像
docker save

将一个或多个镜像生存到tar文档中(默认为STDOUT);
   用法 docker save [OPTIONS] IMAGE [IMAGE…]
别名 docker image save
    参数 :
  OptionDescription-o, --output写到一个文件中,替换标准输出流STDOUT  例子:
将镜像生存到归档文件中:

准备将busybox:latest 镜像生存到该目录下;
  1. docker save -o busybox0.1.tar busybox:latest
复制代码

生存之后大小与原本镜像大小基本一致;
docker load

从tar文档中加载一个镜像
   用法: docker image load [OPTIONS]
别名 docker image load
    参数
  OptionDescription-i, --input读取tar文档-q, --quiet克制负载输出  例子:
  1. docker load -i busybox0.1.tar
复制代码

docker image inspect

对镜像陈列具体的信息
   用法:docker image inspect [OPTIONS] IMAGE [IMAGE…]
    参数:
  OptionDescription-f, --format根据具体格式输出:‘json’: Print in JSON 格式 ;  docker image history

展示镜像的汗青情况
   用法: docker image history [OPTIONS] IMAGE
别名 docker history
    参数:
  OptionDescription-H, --human以人可读格式打印大小和日期–no-trunc不截断输出-q, --quiet只展示镜像ID–format根据具体格式输出  例子:
  1. docker history nginx:1.24.0
复制代码

docker import

从tar文档导入内容以创建镜像
   用法 docker image import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]
别名 docker image import
    参数:
  OptionDescription-c, --change将 Dockerfile 指令应用于创建的镜像-m, --message为导入的镜像设置提交消息–platform假如服务器支持多平台,则设置 platform  例子:
  1. docker import busybox0.1.tar ahri/busybox:0.4
复制代码

docker image prune


删除倒霉用的镜像
   用法:docker image prune
[OPTIONS]
    参数:
  OptionDescription-a, --all删除所有未利用的图像,而不光仅是悬空的图像–filter提供筛选条件值(例如until=< timestamp >)-f, --force不提示确认  例子:
  1. docker image prune
复制代码

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表