Docker使用指南(一)——镜像相关操作详解(实战案例教学,适合小白跟学)

目录

1.镜像名的组成

2.镜像操作相关命令

镜像常用命令总结:

1. docker images

2. docker rmi

3. docker pull

4. docker push

5. docker save

6. docker load

7. docker tag

8. docker build

9. docker history

10. docker inspect

11. docker prune

12. docker search


一、Docker基本操作—镜像篇

1.镜像名的组成

镜像名称一般分两部分组成:[repository] : [tag]

在没有指定 tag 时,tag 默认是latest,代表最新版本的镜像 。


    2.镜像操作相关命令

    下面我们用一个案例,来具体实操一下这些命令,方便大家更好的理解:

    案例一:

    从DockerHub中拉取一个nginx镜像并查看

    ① 首先去镜像仓库搜索nginx镜像,比如DockerHub:

    官网:https://hubgw.docker.com/_/nginx 搜索Nginx 然后选择官方发布的镜像

    ② 第二步 在服务器执行命令,拉取镜像

    docker pull nginx  #拉取Nginx镜像

    默认拉取的是最新版本的;

    ③ 第三步 查看刚刚拉取的镜像

    docker images

     

    案例二:

    利用docker save将nginx镜像导出磁盘,然后再通过load加载回来

    ①步骤一:利用 docker xx-help 命令查看 docker save 的语法

    解释:docker save 命令用于将 Docker 镜像保存为 tar 文件。常用于导出镜像,以便备份或传输到其他系统。

    用法:

    docker save [OPTIONS] IMAGE [IMAGE...]
    • 参数说明:IMAGES 需要保存的 Docker 镜像,[IMAGE...]表示可以指定多个镜像。
    • 常用选项 :-o 指定输出文件的路径。若没有指定,默认会将镜像数据输出到标准输出(STDOUT)

    步骤二:使用docker save导出镜像到磁盘

    用法示例:

    1. 保存一个镜像到 tar 文件:

      docker save -o myNginx.tar nginx:latest
    2. 保存多个镜像到一个 tar 文件:

      docker save -o images.tar image1:latest image2:latest

    步骤三:删除已有的nginx镜像

    #通过镜像名称来删除
    docker rmi nginx:latest
    #也可以通过IMAGE ID来删除
    docker rmi 605c77e624dd


    步骤四 使用 docker load 的把 刚刚导出的镜像加载回来

    首先查看使用方式:

    解释:docker load 命令用于从 tar 归档文件或标准输入(STDIN)加载 Docker 镜像。

    选项:

    • -i, --input string:从指定的 tar 归档文件读取,而不是从标准输入(STDIN)读取。

    • -q, --quiet:抑制加载输出,即不显示加载过程中的详细信息。

    然后从 myNginx.tar 中加载镜像

    docker load -i myNginx.tar

    镜像常用命令总结:

    以下是常见的 Docker 镜像操作命令及其功能


    1. docker images

    • 功能:列出本地主机上的所有镜像。
    • 常用选项
      • -a, --all:显示所有镜像(包括中间层镜像)。
      • -q, --quiet:仅显示镜像 ID。
      • --digests:显示镜像的摘要信息。
    • 示例
      docker images
      

    2. docker rmi

    • 功能:删除本地的一个或多个镜像。
    • 常用选项
      • -f, --force:强制删除镜像(即使有容器正在使用该镜像)。
    • 示例
      docker rmi my_image:tag
      docker rmi image_id1 image_id2
      

    3. docker pull

    • 功能:从 Docker 仓库(如 Docker Hub)拉取镜像到本地。
    • 常用选项
      • --platform:指定镜像的平台(如 linux/amd64)。
      • -a, --all-tags:拉取镜像的所有标签。
    • 示例
      docker pull ubuntu:latest
      

    4. docker push

    • 功能:将本地镜像推送到 Docker 仓库(如 Docker Hub)。
    • 示例
      docker push my_image:tag
      

    5. docker save

    • 功能:将一个或多个镜像保存为 tar 归档文件。
    • 常用选项
      • -o, --output:指定输出文件。
    • 示例
      docker save -o my_image.tar my_image:tag
      

    6. docker load

    • 功能:从 tar 归档文件或标准输入加载镜像到本地。
    • 常用选项
      • -i, --input:指定输入文件。
      • -q, --quiet:静默模式,不显示加载过程。
    • 示例
      docker load -i my_image.tar
      

    7. docker tag

    • 功能:为镜像创建一个新的标签(Tag)。
    • 示例
      docker tag my_image:tag new_image:new_tag
      

    8. docker build

    • 功能:根据 Dockerfile 构建镜像。
    • 常用选项
      • -t, --tag:为构建的镜像指定标签。
      • -f, --file:指定 Dockerfile 文件路径。
    • 示例
      docker build -t my_image:tag .
      

    9. docker history

    • 功能:查看镜像的构建历史记录。
    • 示例
      docker history my_image:tag
      

    10. docker inspect

    • 功能:查看镜像的详细信息(元数据)。
    • 示例
      docker inspect my_image:tag
      

    11. docker prune

    • 功能:清理未使用的镜像。
    • 常用选项
      • -a, --all:删除所有未使用的镜像,而不仅仅是悬空镜像。
    • 示例
      docker image prune -a
      

    12. docker search

    • 功能:从 Docker Hub 搜索镜像。
    • 常用选项
      • --limit:限制搜索结果的数量。
      • --filter:根据条件过滤搜索结果。
    • 示例
      docker search ubuntu
      

    总结

    Docker 镜像操作涵盖了镜像的拉取、推送、构建、删除、保存、加载、查看和管理等功能。掌握这些命令可以帮助你高效地管理和使用 Docker 镜像。

    本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/894769.shtml

    如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

    相关文章

    C++基础day1

    前言:谢谢阿秀,指路阿秀的学习笔记 一、基础语法 1.构造和析构: 类的构造函数是一种特殊的函数,在创建一个新的对象时调用。类的析构函数也是一种特殊的函数,在删除所创建的对象时调用。 构造顺序:父类->子类 析…

    尝试ai生成figma设计

    当听到用ai 自动生成figma设计时,不免好奇这个是如何实现的。在查阅了不少资料后,有了一些想法。参考了:在figma上使用脚本自动生成色谱 这篇文章提供的主要思路是:可以通过脚本的方式构建figma设计。如果我们使用ai 生成figma脚本…

    iOS 老项目适配 #Preview 预览功能

    前言 iOS 开发者 最憋屈的就是UI 布局慢,一直以来没有实时预览功能,虽然swiftUI 早就支持了,但是目前主流还是使用UIKit在布局,iOS 17 苹果推出了 #Preview 可以支持UIKit 实时预览,但是仅仅是 iOS 17,老项目怎么办呢?于是就有了这篇 老项目适配 #Preview 预览 的文章,…

    【分布式架构理论2】分布式架构要处理的问题及解决方案

    文章目录 1. 应用服务拆分2. 分布式调用3. 分布式协同4. 分布式计算5. 分布式存储6. 分布式资源管理与调度7. 高性能与可用性优化8. 指标与监控 将分布式架构需要解决的问题按照顺序列举为如下几步 问题分类具体内容应用服务拆分分布式是用分散的服务和资源代替集中的服务和资…

    【PyQt】pyqt小案例实现简易文本编辑器

    pyqt小案例实现简易文本编辑器 分析 实现了一个简单的文本编辑器,使用PyQt5框架构建。以下是代码的主要功能和特点: 主窗口类 (MyWindow): 继承自 QWidget 类。使用 .ui 文件加载用户界面布局。设置窗口标题、状态栏消息等。创建菜单栏及其子菜单项&…

    Unity中的虚拟相机(Cinemachine)

    Unity Cinemachine详解 什么是Cinemachine Cinemachine是Unity官方推出的智能相机系统,它提供了一套完整的工具来创建复杂的相机运动和行为,而无需编写大量代码。它能够大大简化相机管理,提高游戏开发效率。 Cinemachine的主要组件 1. Vi…

    【PyQt】getattr动态访问对象的属性

    问题 使用qtdesigner设计好大体的软件结构,需要使用代码进行批量修改控件样式,self.ui.x 会被解释为访问 self.ui 中名为 x 的属性,而不是将 x 作为变量名来解析,此时需要通过字符串动态访问 self.ui 中的按钮对象 for i in range(20):x f…

    【电脑系统】电脑突然(蓝屏)卡死发出刺耳声音

    文章目录 前言问题描述软件解决方案尝试硬件解决方案尝试参考文献 前言 在 更换硬盘 时遇到的问题,有时候只有卡死没有蓝屏 问题描述 更换硬盘后,电脑用一会就卡死,蓝屏,显示蓝屏代码 UNEXPECTED_STORE_EXCEPTION 软件解决方案…

    DEEPSEKK GPT等AI体的出现如何重构工厂数字化架构:从设备控制到ERP MES系统的全面优化

    随着深度学习(DeepSeek)、GPT等先进AI技术的出现,工厂的数字化架构正在经历前所未有的变革。AI的强大处理能力、预测能力和自动化决策支持,将大幅度提升生产效率、设备管理、资源调度以及产品质量管理。本文将探讨AI体&#xff08…

    【大模型LLM面试合集】大语言模型架构_Transformer架构细节

    Transformer架构细节 1.Transformer各个模块的作用 (1)Encoder模块 经典的Transformer架构中的Encoder模块包含6个Encoder Block. 每个Encoder Block包含两个⼦模块, 分别是多头⾃注意⼒层, 和前馈全连接层. 多头⾃注意⼒层采⽤的是⼀种Scaled Dot-Pr…

    【华为OD-E卷 - 113 跳格子2 100分(python、java、c++、js、c)】

    【华为OD-E卷 - 跳格子2 100分(python、java、c、js、c)】 题目 小明和朋友玩跳格子游戏,有 n 个连续格子组成的圆圈,每个格子有不同的分数,小朋友可以选择以任意格子起跳,但是不能跳连续的格子&#xff…

    订单状态监控实战:基于 SQL 的状态机分析与异常检测

    目录 1. 背景与问题 2. 数据准备 2.1 表结构设计 3. 场景分析与实现 3.1 场景 1:检测非法状态转换

    说一下JVM管理的常见参数

    Java虚拟机&#xff08;JVM&#xff09;有许多常见参数&#xff0c;用于控制其行为和性能。以下是一些常见的JVM参数及其说明&#xff1a; 1. 内存管理参数 -Xms<size> START 设置初始堆内存大小。例如&#xff0c;-Xms512m表示初始堆大小为512MB。 -Xmx<size>…

    验证工具:GVIM和VIM

    一、定义与关系 gVim&#xff1a;gVim是Vim的图形界面版本&#xff0c;提供了更多的图形化功能&#xff0c;如菜单栏、工具栏和鼠标支持。它使得Vim的使用更加直观和方便&#xff0c;尤其对于不习惯命令行界面的用户来说。Vim&#xff1a;Vim是一个在命令行界面下运行的文本编…

    4 HBase 的高级 shell 管理命令

    4 HBase 的高级 shell 管理命令 1.status 例如&#xff1a;显示服务器状态 hbase(main):058:0> status node012.whoami 显示 HBase 当前用户&#xff0c;例如&#xff1a; hbase> whoami3.list 显示当前所有的表 hbase> list4.count 统计指定表的记录数&#xff0c…

    Web - CSS3基础语法与盒模型

    概述 这篇文章是关于 Web 前端 CSS3 的基础语法与盒模型的讲解。包括 CSS3 层叠性及处理冲突规则、伪元素和新增伪类元素、属性选择器等。还介绍了文本与字体属性&#xff0c;如段落和行相关属性、字体文本属性。最后阐述了盒子模型&#xff0c;如元素隐藏、行内与块元素转换、…

    国防科大:双目标优化防止LLM灾难性遗忘

    &#x1f4d6;标题&#xff1a;How to Complete Domain Tuning while Keeping General Ability in LLM: Adaptive Layer-wise and Element-wise Regularization &#x1f310;来源&#xff1a;arXiv, 2501.13669 &#x1f31f;摘要 &#x1f538;大型语言模型&#xff08;LLM…

    Verilog基础(一):基础元素

    verilog基础 我先说,看了肯定会忘,但是重要的是这个过程,我们知道了概念,知道了以后在哪里查询。语法都是术,通用的概念是术。所以如果你有相关的软件编程经验,那么其实开启这个学习之旅,你会感受到熟悉,也会感受到别致。 入门 - 如何开始 欢迎来到二进制的世界,数字…

    一次线程数超限导致的hive写入hbase作业失败分析

    1.集群配置 操作系统:SuSe操作系统 集群节点:100台相同配置的服务器 单台:核心112Core,内存396G 2.问题现象 现象1:跑单个入库任务报错,批量提交任务后出现OOM异常 执行12个hivesql,将数据写入hbase.hbase入库有近一半的任务报错。 每次报错的任务不是同一个,hivesql…

    优化fm.jiecao.jcvideoplayer_lib中视频横竖屏自动适配原视频方案

    fm.jiecao:jiecaovideoplayer:x.x.x 优化fm.jiecao.jcvideoplayer_lib中视频横竖屏自动适配原视频方案&#xff1a; 仅优化关键代码部分&#xff0c;源码&#xff1a; public void startWindowFullscreen() {Log.i(TAG, "startWindowFullscreen " " [" …