首页 > 其他分享 >Docker入门与实战-Docker镜像的使用

Docker入门与实战-Docker镜像的使用

时间:2023-05-15 22:00:47浏览次数:33  
标签:入门 -- image 仓库 tag 镜像 Docker docker

Docker入门与实战

二.Docker镜像的使用

1.获取镜像

​ 命令:docker [image] pull image-name[:tag]

​ 说明:

​ name为镜像仓库名称,严格来说,该name应该由注册服务器地址+镜像仓库名称组成,这样做可以避免不同仓库(注册服务器)下的镜像名称冲突的问 题,如果该注册服务器地址省略,则默认从Docker官方注册服务器(即registry.hub.docker.com)拉取。

​ tag为镜像的标签(大多数为版本信息),若省略,则默认拉取最新版本的镜像

​ e.g. docker pull ubuntu:18.04

image-20230514191131558

​ 其他附加参数:

​ -a或--all-tags=true|false : 是否获取仓库中的全部镜像,默认为false。

​ --disable-content-trust : 取消镜像的内容校验,默认为true。

​ --registry-mirror=镜像仓库地址 : 指定镜像代理服务地址

​ --no-trunc=true|false : 对输出结果中太长的部分是否采取截断操作,默认为true

​ -f或--filter=[] : 过滤列出的镜像

​ --format="你期望的数据输出格式" :控制输出格式,例如,你可以在格式字符串中以.ID代表输出的ID信息,以.Repository代表仓库信息等

2.查看镜像信息

​ 命令 : docker images 或 docker image ls

​ 说明 : 列出本地主机上已有的镜像的基本信息

image-20230514192505214

​ 列表字段说明:

​ repository : 来源仓库

​ tag : 镜像的标签信息(大多数为镜像版本信息),可用于标识来自于同一仓库的不同标签(版本)的镜像

​ image id : 镜像的唯一标识,具有唯一性

​ created : 镜像最后的更新时间

​ size : 镜像的大小

​ 一些可选参数:

​ -a或--all=true|false : 是否列出所有的镜像文件(包括临时的镜像文件),默认为false。

​ -q或--quiet=true|false :是否仅输出ID信息,默认为false。

3.更改镜像标签信息(Tag)

​ 命令 :docker tag 原镜像仓库名称:原镜像标签信息 自定义镜像仓库名称:自定义镜像标签信息

​ 说明 :类似于给目标镜像起了一个别名,类似于Linux系统中的链接文件的作用

​ e.g. docker tag hello-world:latest hello-world:promax

image-20230514195728167

4.查看镜像的详细信息

​ 命令 :docker [image] inspect 镜像仓库名称:镜像标签信息

​ 说明 :能够获取到目标镜像的制作者,适应架构,各层的数字摘要等信息。由于返回的信息为JSON格式,因此,我们可以通过追加 -f JSON中的某个键 以进一步查看某一项的信息。

​ e.g. : docker image inspect nginx:latest

​ e.g. : docker image inspect -f {{".Id"}} nginx:latest

image-20230514200438667

​ (此处省略500字...)

image-20230514201113123

5.查看镜像历史

​ 命令 :docker history 镜像仓库名称:镜像标签信息

​ 说明 :查看镜像各层的创建信息

​ e.g. :docker history nginx:latest

image-20230514201738323

6.搜索镜像

​ 命令 :docker search 镜像仓库名称

​ e.g. : docker search redis

image-20230514202622602

​ 其他参数说明:

​ -f或--filter=[] : 过滤列出的镜像

​ --format="你期望的数据输出格式" :控制输出格式,例如,你可以在格式字符串中以.ID代表输出的ID信息,以.Repository代表仓库信息等

​ --limit 输出结果个数 :限制输结果的个数,默认输出25个符合条件的结果

​ --no-trunc : 不截断输出结果的任何部分

7.删除与清理镜像

​ 命令:docker rmi image1 image2 image3...或 docker image rm mage1 image2 image3...

​ 说明 :其中的imageN可以是 镜像仓库名称:镜像标签信息,也可以是镜像ID

​ 如果删除的是 镜像仓库名称:镜像标签信息,若该镜像仓库在本地存在多个(多个不同版本的同一镜像),因此删除其中一个镜像标签,仅仅会删除该指 向同一镜像的链接,只有删除最后一个镜像标签的情况下,才会删除该镜像所有文件层;如果删除的是镜像ID,由于不同版本的镜像所对应的镜像ID 都是相同的,所以,此时将会删除所有指向该镜像的不同版本的本地镜像标签,同时也会删除该镜像的所有文件层。

image-20230514203751148

​ 其他参数说明:

​ -f或-force : 强制删除,即使有其之上的容器处在运行状态

​ -no-prunc : 不清理未带标签的父镜像

8.清理镜像

​ 命令 :docker image prune

​ 相关参数说明:

​ -a或--all : 删除所有无用镜像,包括临时镜像

​ -filter filter-expression : 删除符合过滤器条件的镜像

​ -f或-force :强制删除镜像,不再进行二次确认

9.创建镜像

(1)第一种方法:基于已有容器创建:

​ 命令:docker [container] commit containerID [newImageName:newImageTag]

​ e.g. :

docker commit -m "commit test" -a "Dage" ac0977cebae3 dage_redis:promax

image-20230515191536524

​ 相关参数说明:

​ -a或--author=" " : 作者信息

​ -c或--change=[] : 提交的时候执行dockerfile中的指令

​ -m或--messag=" " : 提交信息

​ -p或--pause=true|false : 提交时,当前容器是否暂停运行

(2)第二种方法:基于本地模板创建:

​ 命令 :docker [image] import file|URL|-[respoitory:tag]

(3)第三种方法:基于Dockerfile创建:

​ 命令 :docker [image] build [-t repository:tag]

​ 说明 :Dockerfile是一个文本文件,专门用于描述基于父容器创建某个新镜像的过程。

10.载入与导出镜像

(1)载入镜像

​ 命令 :docker [image] load -i fileURI

​ e.g. :

docker load -i redis_promax.tar
(2)导出镜像

​ 命令 :docker [image] save -o outputFilePath repository:tag

​ e.g.

docker save -o hehehe.tar hello-world:promax

11.上传镜像

​ 命令:docker [image] push repository[ :tag] registry_host[ :registry_port]/name:tag

​ 或者:先 docker tag repository:tag name:tag,再 docker push name:tag

​ 说明:默认推送镜像至Docker官方仓库,执行上述命令之前,请先登录或注册DockerHub

docker push hello-world:promax hw-pro:promax

标签:入门,--,image,仓库,tag,镜像,Docker,docker
From: https://www.cnblogs.com/ChinaPTP/p/17403267.html

相关文章

  • Intellij Idea教程_编程入门自学教程_菜鸟教程-免费教程分享
    教程简介IDEA全称IntelliJIDEA,是java编程语言的集成开发环境。IntelliJ在业界被公认为最好的Java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、创新的GUI设计等方面的功能可以说是超常的。IDEA是JetBra......
  • Docker+jenlins+gitee部署net6
    1.Docker安装。Docker->虚拟化容器技术。Docker基于镜像,可以秒级启动各种容器。每一种容器都是一个完整的运行环境,容器之间互相隔离。1、选择要安装的平台Docker要求CentOS系统的内核版本高于3.10uname-r#通过uname-r命令查看你当前的内核版本安装文档地址2、选择......
  • Flask快速入门3
    十一,FlaskCookies Cookie以文本文件的形式存储在客户端的计算机上。其目的是记住和跟踪与客户使用相关的数据,以获得更好的访问者体验和网站统计信息。 Request对象包含Cookie的属性。它是所有cookie变量及其对应值的字典对象,客户端已传输。除此之外,cookie还存储其网站的到期时间......
  • Docker详解
    什么是docker?Docker是一个应用打包、分发、部署的工具你也可以把它理解为一个轻量的虚拟机,它只虚拟你软件需要的运行环境,多余的一点都不要,而普通虚拟机则是一个完整而庞大的系统,包含各种不管你要不要的软件。打包:就是把你软件运行所需的依赖,第三方库,软件打包打包在一起......
  • dotnet6 项目在Docker部署报错 The type initializer for 'Gdip' threw an exception.
    asp.netcore部署在docker中,使用了System.Drawing.Common包,在容器中使用时报错“Thetypeinitializerfor'Gdip'threwanexception.”原因:因为System.Drawing.Common在跨平台的兼容性不够理想,官方设置为后续版本只能在Windows平台使用,默认是不开启的,需要在运行时配置中开启......
  • 本人NAS中常用docker配置文件分享
    由于重装系统的时候,备份docker备份有误,现在所有的docker都得重新安装,想着在安装的时候顺便分享一下使用的镜像吧系统:Ubuntu23.04(GNU/Linux6.2.0-20-genericx86_64)配置:cpu:8700tes内存:16g*2固态:1t机械:4t+4t+12t+8tGPU:Teslap4机箱:T48......
  • Python基础语法入门
    Python基础语法入门1、Python的注释符号1、什么是注释?#学习任何一门代码,先学注释,注释是代码之母注释就是对一段代码的解释说明,它不会参与到代码的运行,只是起到提示作用2、如何注释?2.1、#单行注释#它可以使用快捷键帮助我们把代码写的更加规范快捷键:Ctrl+alt+1(格式......
  • Docker绑定指定CPU核心
    需求使用多个Container并行任务希望可以对CPU不同核心进行负载均衡。实现可以通过cpuset-cpus参数进行资源管理dockerrun--rm-it--cpuset-cpus8-15ubuntu:18.04nproc#8可以看到host后8核被绑定在guest中且总核心数为8参考https://docs.docker.com/config/contain......
  • Vue入门浅析
    title:vue入门浅析author:Sun-Winddate:May14,2022写这篇博文的目的在于为初学vue的同学对vue有一些更进一步的了解读这篇博文前,您应该至少安装了vue环境,能在本地运行一个简单的demo本文将浅析vue项目工程的结构,以及用npm运行项目的过程中发生的一些事件注明:该文本应在......
  • docker实用工具之查看容器启动命令
    随着docker使用的深入,有一个痛点出现了,就是在用的docker容器启动命令是啥,启动命令对应docker容器来说相当于容器的根,但是一般的使用场景,启动完容器之后,如果不刻意记录,启动命令就很容易丢失了没有启动命令,就不敢轻易删除容器,还有容器内的数据是否挂在出来也不能及时发现,对后面的......