Docker实战-关于Docker镜像的相关操作(一)

导语
  镜像,Docker中三大核心概念之一,并且在运行Docker容器之前需要本地存储对应的镜像。那么下面我们就来介绍一下在Docker中如何使用镜像。

在这里插入图片描述

如何获取镜像?

  镜像作为容器运行的前提条件,在Docker Hub上提供了各种各样的开放的镜像提供给大家使用。那么我们如何去获取这些镜像呢?

  可以使用 docker [image] pull 命令直接从Docker Hub中拉取镜像。

docker [image] pull NAME:[:TAG]

  这里我们先来尝试获取一个Ubuntu18.04的镜像

[root@localhost ~]# docker pull ubuntu:18.04
18.04: Pulling from library/ubuntu
7c457f213c76: Pull complete 
Digest: sha256:152dc042452c496007f07ca9127571cb9c29697f42acbfad72324b2bb2e43c98
Status: Downloaded newer image for ubuntu:18.04
docker.io/library/ubuntu:18.04

  这里我们指定了标签是18.04,如果我们不指定标签的话则默认拉取的是最新的版本。

  通过下载过程可以看出,镜像文件其实是由若干层(layer)组成,并且每一层都有自己对应的id。使用了docker pull命令之后,会获取到各层的信息,如果在本地存在其他相同层的内容的时候,就直接使用,不同层的内容则需要重新获取。

[root@localhost ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
ubuntu       18.04     f9a80a55f492   8 weeks ago   63.2MB
[root@localhost ~]# 

  镜像下载到本地之后,我们就可以使用这个镜像了,可以运行容器,并且打印出一个**HelloWorld!**

[root@localhost ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
ubuntu       18.04     f9a80a55f492   8 weeks ago   63.2MB
[root@localhost ~]# docker run -it ubuntu:18.04 bash
root@a9a05f9ef099:/# echo "HelloWorld!"
HelloWorld!
root@a9a05f9ef099:/# exit

如何查看镜像信息?

 &msp;上面我们介绍了获取镜像的命令,下面我们来看看如何获取镜像的相关信息。

docker images

  使用docker images命令列出存在于本地的镜像。

[root@localhost ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
ubuntu       18.04     f9a80a55f492   8 weeks ago   63.2MB
[root@localhost ~]# 

  从这个信息中可以获取到如下一些信息

  • 来自于那个仓库
  • 镜像标签是什么
  • 镜像ID
  • 镜像创建时间
  • 镜像大小

  其中比较重要的信息就是镜像ID,因为它是镜像存在的唯一标识,在使用镜像的时候可以唯一标识这个镜像是那个。

  docker images 还支持一些子命令,例如 -a、–digests=true、-f 等。

docker tag

  为了方便镜像在特定的场景下使用,可以使用docker tag命令来为本地镜像添加标签。例如我们可以添加一个 myubuntu:new 的标签。

[root@localhost ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
ubuntu       18.04     f9a80a55f492   8 weeks ago   63.2MB
[root@localhost ~]# docker tag ubuntu:18.04 myubuntu:new
[root@localhost ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
myubuntu     new       f9a80a55f492   8 weeks ago   63.2MB
ubuntu       18.04     f9a80a55f492   8 weeks ago   63.2MB
[root@localhost ~]# 

  之后我们就可以使用这个标签来表示这个镜像了。

docker inspect

  使用docker [image] inspect 命令可以获取到镜像的详细信息,包括作者、架构、层次信息等等。

[root@localhost ~]# docker inspect ubuntu:18.04
[{"Id": "sha256:f9a80a55f492e823bf5d51f1bd5f87ea3eed1cb31788686aa99a2fb61a27af6a","RepoTags": ["myubuntu:new","ubuntu:18.04"],"RepoDigests": [
……
docker history

  查看各层构建的历史信息相关内容

[root@localhost ~]# docker history ubuntu:18.04
IMAGE          CREATED       CREATED BY                                      SIZE      COMMENT
f9a80a55f492   8 weeks ago   /bin/sh -c #(nop)  CMD ["/bin/bash"]            0B        
<missing>      8 weeks ago   /bin/sh -c #(nop) ADD file:3c74e7e08cbf9a876…   63.2MB    
<missing>      8 weeks ago   /bin/sh -c #(nop)  LABEL org.opencontainers.…   0B        
<missing>      8 weeks ago   /bin/sh -c #(nop)  LABEL org.opencontainers.…   0B        
<missing>      8 weeks ago   /bin/sh -c #(nop)  ARG LAUNCHPAD_BUILD_ARCH     0B        
<missing>      8 weeks ago   /bin/sh -c #(nop)  ARG RELEASE                  0B        
[root@localhost ~]# 

如何搜索镜像?

  我们可以使用docker search 进行镜像的搜索,当然search 也存在子命令的,如下所示。

  • -f ,–filter filter:过滤输出的内容
  • –format string:格式化输出内容
  • –limit int:限制输出的结构
  • –no-trunc:不截断输出结果

  例如搜索一个官方的带有nginx关键字的镜像

[root@localhost ~]# docker search --filter=is-official=true nginx
NAME      DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
nginx     Official build of Nginx.                        18798     [OK]       
unit      Official build of NGINX Unit: Universal Web …   7         [OK]       
[root@localhost ~]# 

总结

  上面我们介绍了镜像的获取,镜像信息查看、镜像的搜索相关的内容。在后续的分享中,还会给大家带来关于镜像的删除、镜像的创建、镜像的上传等操作的内容。希望大家多多关注。

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

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

相关文章

Edge浏览器安装vue devtools

1. 下载地址 GitHub - vuejs/devtools: ⚙️ Browser devtools extension for debugging Vue.js applications. 2. 下载后的压缩包解压并打开文件夹&#xff0c;右键选择&#xff1a;git bush here 3. 安装依赖 npm install 4. 成功安装依赖后打包 npm run build

万界星空科技/免费开源MES系统/免费仓库管理

仓库管理&#xff08;仓储管理&#xff09;&#xff0c;指对仓库及仓库内部的物资进行收发、结存等有效控制和管理&#xff0c;确保仓储货物的完好无损&#xff0c;保证生产经营活动的正常进行&#xff0c;在此基础上对货物进行分类记录&#xff0c;通过报表分析展示仓库状态、…

基于opencv的几种图像滤波

一、介绍 盒式滤波、均值滤波、高斯滤波、中值滤波、双边滤波、导向滤波。 boxFilter() blur() GaussianBlur() medianBlur() bilateralFilter() 二、代码 #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> …

OpenLayers入门,OpenLayers使用fetch加载并显示TopoJson格式区划边界数据并叠加文字标注,动态创建要素样式

专栏目录: OpenLayers入门教程汇总目录 前言 上一章中已经说明了TopoJson格式数据,《OpenLayers入门,OpenLayers加载TopoJson数据,使用行政区划边界作为示例》,大家应该都已经有所了解。 本章在上一章基础上改用fetch加载TopoJson格式数据,并手动解析数据为Feature要素…

【GITHUB】FlipIt – Windows的开源翻页时钟

FlipIt 是一款免费开源的翻页时钟应用&#xff0c;专为 Windows 平台设计。该应用灵感来源于备受喜爱的老牌翻页时钟应用 Fliqlo&#xff0c;后者被公认为经典的翻页时钟屏保。然而&#xff0c;由于 Fliqlo 是基于 Flash 技术开发的&#xff0c;随着微软最近正式禁用 Flash&…

contact.sh:一款专门用于安全漏洞报告的公开资源情报工具

关于contact.sh contact.sh一款专门用于安全漏洞报告的公开资源情报工具&#xff0c;在该工具的帮助下&#xff0c;广大研究人员可以扫描企业域名并搜索企业中的用户账号&#xff0c;并根据安全威胁等级来发送安全漏洞报告。 工具安装 GNU/Linux 在下载该工具之前&#xff…

多线程之NSOperation

套话 与GCD一样&#xff0c;NSOperation也是我们日常开发中经常用到的多线程技术。本文将会介绍NSOperation的基本使用、添加依赖、 初次使用 NSOperation是个抽象类&#xff0c;依赖于子类NSInvocationOperation、NSBlockOperation去实现 下面是开发者文档上对NSOperation…

macOS 虚拟桌面黑屏(转)

转自&#xff1a;macOS重置虚拟桌面、macOS 虚拟桌面黑屏 有几次出现如图的情况&#xff0c;以为是iTerm的问题&#xff0c;但是在关闭软件&#xff0c;重启之后&#xff0c;依旧无效。 后面经过网友告知&#xff0c;才知道是虚拟桌面的问题。 为了清理这个问题&#xff0c;有以…

ELD透明屏在智能家居中有哪些优点展示?

ELD透明屏是一种新型的显示技术&#xff0c;它能够在不需要背光的情况下显示图像和文字。 ELD透明屏的原理是利用电致发光效应&#xff0c;通过在透明基板上涂覆一层特殊的发光材料&#xff0c;当电流通过时&#xff0c;发光材料会发出光线&#xff0c;从而实现显示效果。 ELD…

论文研读|多媒体自动评论生成发展综述

前言&#xff1a;多媒体自动评论生成旨在通过使用生成模型&#xff0c;对给定上下文生成符合情境的评论&#xff0c;近年来&#xff0c;随着图像描述等跨模态工作取得较大突破&#xff0c;相关研究也逐渐展开。评论作为社交平台互动的重要组成部分&#xff0c;在引导舆论、提升…

python-MySQL数据库建表语句(需要连接数据库)转存为Excel文档-工作小记

将create table XXXXXX 转为指定Excel文档。该脚本适用于数据库表结构本地文档记录 呈现效果 代码 # -*- coding:utf-8 -*- # Time : 2023/8/2 15:14 # Author: 水兵没月 # File : MySQL建表_2_excel.py import reimport mysql.connector import pandas as pd db 库名 mydb …

Linux的基本指令(2)

指令1&#xff1a;man 作用&#xff1a;可以查询linux指令语法内容。 格式&#xff1a; man 指令 安装man指令&#xff1a; yum install -y man-pages 例如&#xff1a; 查询 指令 ls 的语法内容。 man ls 查询 fork 指令的语法内容。 man fork 在man中存在9个手册&…

【腾讯云Cloud Studio实战训练营】使用Cloud Studio迅捷开发一个3D家具个性化定制应用

目录 前言&#xff1a; 一、腾讯云 Cloud Studio介绍&#xff1a; 1、接近本地 IDE 的开发体验 2、多环境可选&#xff0c;或连接到云主机 3、随时分享预览效果 4、兼容 VSCode 插件 5、 AI代码助手 二、腾讯云Cloud Studio项目实践&#xff08;3D家具个性化定制应用&…

Day51 算法记录| 动态规划 18(单调栈)

单调栈 739. 每日温度496.下一个更大元素 I503. 下一个更大元素 II42. 接雨水84. 柱状图中最大的矩形 单调栈&#xff1a;找最近的比他大的值 最近大的值&#xff1a;需要一个单调递减的栈&#xff08;大于栈顶元素就弹出&#xff09; 最近最小值&#xff1a;单调递减栈 方向&a…

idea-常用插件汇总

idea-常用插件汇总 码云插件 这个插件是码云提供的ps-码云是国内的一款类似github的代码托管工具。 Lombok Lombok是一个通用Java类库&#xff0c;能自动插入编辑器并构建工具&#xff0c;简化Java开发。通过添加注解的方式&#xff0c;不需要为类编写getter或setter等方法…

记一次 .NET 某物流API系统 CPU爆高分析

一&#xff1a;背景 1. 讲故事 前段时间有位朋友找到我&#xff0c;说他程序CPU直接被打满了&#xff0c;让我帮忙看下怎么回事&#xff0c;截图如下&#xff1a; 看了下是两个相同的程序&#xff0c;既然被打满了那就抓一个 dump 看看到底咋回事。 二&#xff1a;为什么会打…

【雕爷学编程】Arduino动手做(181)---Maixduino AI开发板11

37款传感器与执行器的提法&#xff0c;在网络上广泛流传&#xff0c;其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块&#xff0c;依照实践出真知&#xff08;一定要动手做&#xff09;的理念&#xff0c;以学习和交流为目的&am…

中断管理

其实&#xff0c;关于中断的概念和定义在之前已经反复学习和实践了&#xff0c;这节主要讲和FreeRTOS相关的中断知识。 中断优先级 任何中断的优先级都大于任务&#xff01; 在我们的操作系统&#xff0c;中断同样是具有优先级的&#xff0c;并且我们也可以设置它的优先级&a…

汽车EBSE测试流程分析(四):反思证据及当前问题解决

EBSE专题连载共分为“五个”篇章。此文为该连载系列的“第四”篇章&#xff0c;在之前的“篇章&#xff08;三&#xff09;”中已经结合具体研究实践阐述了“步骤二&#xff0c;通过系统调研确定改进方案”等内容。那么&#xff0c;在本篇章&#xff08;四&#xff09;中&#…

elementUI全屏loading的使用(白屏的解决方案)

官网中有使用方法&#xff0c;但是我实际上手之后会出现白屏&#xff0c;解决办法如下&#xff1a; <el-button type"text" size"small" click"delRow(scope)"> 删除</el-button>loading: false, // loading 动画loadingInstance…