容器技术与应用(第2版)(微课版) 课件 任务2.1 查看和管理Dker镜像_第1页
容器技术与应用(第2版)(微课版) 课件 任务2.1 查看和管理Dker镜像_第2页
容器技术与应用(第2版)(微课版) 课件 任务2.1 查看和管理Dker镜像_第3页
容器技术与应用(第2版)(微课版) 课件 任务2.1 查看和管理Dker镜像_第4页
容器技术与应用(第2版)(微课版) 课件 任务2.1 查看和管理Dker镜像_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Docker容器技术与应用湖北轻工职业技术学院项目2项目背景

在正常情况下,docker有一个默认连接的国外官方镜像,在国外的用户访问该官方镜像自然不成问题,但是国内,由于国情不同,中国的网络访问国外官方镜像网速一向很慢,而且往往还会遭遇断网的窘境,所以对于国内的用户,要想正常使用docker的镜像,就不得不配置相应的国内镜像。Docker镜像管理和定制Docker镜像管理和定制项目2镜像是Docker的核心技术之一,是创建Docker容器的基础模板。本项目通过3个任务介绍镜像的基本概念和围绕镜像这一核心概念的具体操作,包括如何使用pull命令获取镜像、如何查看本地已有的镜像信息和管理镜像、如何创建用户定制的镜像,以及如何创建私有仓库。项目二:Docker镜像管理和定制目录任务2.1、查看和管理Docker镜像任务2.2、创建和使用私有仓库任务2.3、创建定制的Docker镜像认识和安装Dokcer回顾1、为什么需要云平台2、公有云与私有云的区别及优点3、为什么会出现docker4、docker的定义、核心概念、优点5、虚拟化技术与容器化技术6、docker引擎及底层技术7、Linux下在线安装Docker知识目标了解镜像的基本概念。掌握镜像的常用操作命令。能力目标掌握镜像的分层操作。掌握镜像的基本操作。素质目标培养爱国主义。树立民族自豪感。工程师小王编写完Docker安装手册并提交后,公司安排小王继续编写相关技术手册,旨在在公司内部更广泛地推广Docker技术的应用与实践。小王决定编写关于Docker镜像管理的操作手册,以期提供更加直观、高效的实践资料。任务2.1查看和管理Docker镜像任务要求2.1Docker镜像 Docker镜像类似于虚拟机中的镜像,是一个只读的模板,也是一个独立的文件系统,包括运行容器所需的数据。。例如,一个镜像可以包含一个基本的操作系统环境,其中仅安装了nginx应用或用户需要的其他应用,可以将其称为一个nginx镜像。任务2.1查看和管理Docker镜像相关知识2.1Docker镜像镜像在IT领域通常是一系列文件或一个磁盘驱动器的精确副本。Docker镜像是按照docker要求定制的应用程序,就像软件安装包一样。一个Docker镜像可以包括一个应用程序以及能够运行它的基本操作系统环境。对于linux系统而言,内核启动后,会挂载root文件系统为其提供用户空间支持,而docker镜像相当于是一个root文件系统。镜像是创建容器的基础,是通过版本管理和增量的文件系统,docker提供了一套十分简单的机制来创建和更新现有的镜像。镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包含代码、运行库、环境变量和配置文件。

任务2.1查看和管理Docker镜像相关知识2.1Docker镜像 Docker镜像是Docker容器的静态表示,包括Docker容器所要运行的应用代码及运行时的配置。Docker镜像采用分层的方式构建,每个镜像均由一系列的“镜像层”组成。镜像一旦被创建就无法被修改。任务2.1查看和管理Docker镜像相关知识2.1图2-1Docker容器的分层结构任务2.1查看和管理Docker镜像2.1Docker镜像是Docker容器的静态表示,一个运行着的docker容器是一个镜像的实例,那如果需要修改容器镜像的某个文件时,那就只能对处于最上层的可写层进行变动,而不能覆盖下面只读层的内容。这个图就表示了只读层和只写层的分层结构关系,可写层位于底下的若干只读层之上,运行时的所有变化,包括对数据和文件的写和更新,都会保存在可层层中。Docker镜像Docker镜像采用了写时复制(Copy-on-Write)的策略,在多个容器之间共享镜像,每个容器在启动的时候并不需要单独复制一份镜像文件,而是将所有镜像层以只读的方式挂载到一个挂载点,再在上面覆盖一个可读写的容器层。写时复制策略配合分层机制的应用,减少了镜像对磁盘空间的占用和容器启动时间。任务2.1查看和管理Docker镜像相关知识2.1Docker镜像采用统一文件系统对各层进行管理。统一文件系统技术能够将不同的层整合成一个文件系统,为这些层提供一个统一的视角,这样就隐藏了多层的存在,从用户的角度看来,只存在一个文件系统。使用Docker的常用命令(1)获取镜像——镜像仓库中拉取或者更新指定镜像命令格式:dockerpull[DockerRegistry地址]<镜像名>[:<标签名>]例如,获取centos:latest镜像的代码如下。[root@master~]#dockerpullcentos:latest例如:从私有仓库中获取centos:latest镜像,私有仓库地址为0的代码如下:[root@master~]#dockerpull0:5000/centos:latest任务2.1查看和管理Docker镜像相关知识2.1使用Docker的常用命令(2)查看镜像信息。

命令格式:

dockerimages[选项][<镜像名>][:<标签名>]dockerimages命令的常用选项如下。

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

②-f:显示满足条件的镜像。

③-q:只显示镜像ID。

例如,列出本地镜像的代码如下。[root@localhost~]#dockerimages任务2.1查看和管理Docker镜像相关知识2.1使用Docker的常用命令(2)查看镜像信息:dockerimages

任务2.1查看和管理Docker镜像相关知识2.1dockerimage命令显示信息中各字段的说明如下:REPOSITORY:表示镜像的仓库源,也可以说是镜像的名称。TAG:镜像的标签,同一个仓库可以有多个TAG,代表这个仓库源的不同镜像版本,如CENTOS仓库源中有7.3、7.4等不同版本,可以使用REPOSITORY:TAG来定义不同的镜像。IMAGEID:镜像ID,可以通过dockerrespectcentos:lastest,repodigests字段就是实际镜像id,全长64个十六进制字符,它是由哈希函数sha256对镜像配置文件计算而来,实际它只取了dockerrespectcentos:lastest里字段id的前几位。CREATED:镜像创建时间。SIZE:镜像大小。

使用Docker的常用命令(3)查找镜像——

从DockerHub查找镜像

命令格式:

dockersearch[选项]TERMdockersearch命令的常用选项如下。

①--automated:默认为False,即显示automatedbuild镜像。

②--no-trunc:默认为False,即显示完整的镜像描述。

③-s:列出收藏数不小于指定值的镜像。

例如,查找镜像名为centos的镜像的代码如下。[root@localhost~]#dockersearchcentos任务2.1查看和管理Docker镜像相关知识2.1使用Docker的常用命令(3)查找镜像:dockersearch任务2.1查看和管理Docker镜像相关知识2.1例如:从DockerHub查找所有镜像名包含java,并且收藏数大于10的镜像参数说明:NAME:

镜像仓库源的名称DESCRIPTION:

镜像的描述OFFICIAL:

是否docker官方发布stars:

类似Github里面的star,表示点赞、喜欢的意思。AUTOMATED:

自动构建使用Docker的常用命令(4)标记镜像。

dockertag:

标记本地镜像,将其归入某一仓库。(标签可以看作是别名,一个镜像可以有多个标签,但只能有一个ID)

命令格式:

dockertag[镜像名]:[原标签名][镜像名]:[新标签名]

例如,将centos:latest镜像标记为centos:test镜像。[root@localhost~]#dockertagcentos:latestcentos:test任务2.1查看和管理Docker镜像相关知识2.1使用Docker的常用命令(4)标记镜像:dockertag例如:将centos:latest镜像标记位centos:test镜像:任务2.1查看和管理Docker镜像相关知识2.1从dockerimages命令的结果来看:本地的centos:latest镜像没有任何改变,只是新增了一个标签,标签名为centos:test使用Docker的常用命令(5)删除镜像。

命令格式:

dockerrmi[选项]镜像1[镜像2...]dockerrmi命令的常用选项如下。

①-f:强制删除。

②--no-prune:不移除该镜像的过程镜像,默认是移除该镜像的过程镜像的。

例如,列出本地主机的所有镜像,并删除镜像名为mysql:latest的镜像的代码如下。[root@localhost~]#

dockerrmi–f

mysql:latest //等价于dockerrmi-fmysql利用dockerrmi可以删除不需要的镜像,以释放镜像占用的磁盘空间。任务2.1查看和管理Docker镜像相关知识2.1使用Docker的常用命令(5)删除镜像。

命令格式:

dockerrmi在删除镜像时,也可以使用镜像ID、镜像短ID进行删除。例如:[root@localhost~]#

dockerrmi–f

61

或[root@localhost~]#

dockerrmi–f

b1f0940swi08882批量删除镜像:dockerimage–q命令进行配置任务2.1查看和管理Docker镜像相关知识2.1使用Docker的常用命令(5)删除镜像。

命令格式:

dockerrmi例如:删除所有仓库名为ubuntu的镜像代码如下: [root@localhost~]#

dockerrmi–f

$(dockerimage–qubuntu)

删除本地所有镜像的代码如下:[root@localhost~]#

dockerrmi–f

$(dockerimage–q)任务2.1查看和管理Docker镜像相关知识2.1使用Docker的常用命令(5)删除镜像。任务2.1查看和管理Docker镜像相关知识2.1当一个镜像有多个标签时,dockerrmi命令仅删除该镜像多个标签中的指定标签,不会影响镜像文件,相当于只删除了镜像0e1c0c70dbc5的一个标签。但当该镜像只剩下一个标签时,再使用删除命令就会彻底删除该镜像。使用Docker的常用命令(5)删除镜像。任务2.1查看和管理Docker镜像相关知识2.1问题:如果使用dockerrmi0e1c0c70dbc5命令,可以直接同时删除相同镜像的不同标签吗?回答:不可以(5)删除镜像。

任务2.1查看和管理Docker镜像2.1问题:如果使用dockerrmiredhat命令,可以直接同时删除相同镜像的不同标签吗?(5)删除镜像。

任务2.1查看和管理Docker镜像2.1问题:如果使用dockerrmiredhat命令,可以直接同时删除相同镜像的不同标签吗?回答:不可以(5)删除镜像。问题:如果删除报以下错误,怎么办?

任务2.1查看和管理Docker镜像2.1(5)删除镜像。问题:如果删除报以下错误,怎么办?

任务2.1查看和管理Docker镜像2.1解决办法:先需要关闭删除容器,再删除镜像。查看当前运行的容器:dockerps-a关闭容器:dockerstop$(dockerps-a-q)或dockerstopnginx01删除容器:dockerrm$(dockerps-a-q)或dockerrm-rfnginx01删除:nginx:latest镜像:dockerrminginx:latest(5)删除镜像。镜像可以理解为一种构建时(build-time)结构,而容器可以理解为一种运行时(run-time)结构。上图从顶层设计层面展示了镜像和容器间的关系。通常使用命令从某个镜像启动一个或多个容器。一旦容器从镜像启动后,二者之间就变成了互相依赖的关系,并且在镜像上启动的容器全部停止之前,镜像是无法被删除的。尝试删除镜像而不停止或销毁使用它的容器,会导致出错。因此:删除镜像时,系统会先删除指向该镜像的所有标签,然后删除该镜像本身。如果该镜像已经被容器使用,正确的做法是先删除依赖该镜像的所有容器,再去删除镜像。

任务2.1查看和管理Docker镜像2.1使用Docker的常用命令(6)镜像的导入。

命令格式:dockerload——可实现镜像的导入。语法:dockerload[OPTIONS]OPTIONS说明: --input,-i:指定导入的文件,代替STDIN。 --quiet,-q:精简输出信息。例如,将ubuntu.tar文件导入的代码如下。[root@localhost~]#dockerload--inputubuntu.tar任务2.1查看和管理Docker镜像相关知识2.1使用Docker的常用命令(7)镜像的导出。

命令格式:dockersave—将指定镜像保存成tar归档文件,即将镜像导出。语法:dockersave[OPTIONS]IMAGE[IMAGE...]OPTIONS说明: -o:输出到的文件例如,将ubuntu:latest镜像导出生成ubuntu.tar文件的代码如下。[root@localhost~]#dockersave-oubuntu.tarubuntu:latest

任务2.1查看和管理Docker镜像相关知识2.1使用Docker的常用命令(8)上传镜像。

命令格式:dockerpush[镜像名]:[标签名]——

可将本地的镜像上传到镜像仓库,要先登陆到镜像仓库

例如,上传本地镜像centos:test至镜像仓库的代码如下。[root@localhost~]#dockerpushcentos:test任务2.1查看和管理Docker镜像相关知识2.1使用Docker的常用命令(9)查看镜像详细信息--获取容器/镜像的元数据(JSON格式)命令格式:dockerinspect[OPTIONS]NAME|ID[NAME|ID...]选项: -f指定返回值的模板文件; -s如果类型为容器,则显示文件总大小; --type返回指定类型的JSON[root@localhost~]#dockerinspectcentos任务2.1查看和管理Docker镜像相关知识2.1使用Docker的常用命令(9)查看镜像详细信息--获取容器/镜像的元数据(JSON格式)

[root@localhost~]#dockerinspectcentos任务2.1查看和管理Docker镜像相关知识2.1使用Docker的常用命令(9)查看镜像详细信息。举例:(1)获取容器IP:#dockerinspect--format='{{range.NetworkSettings.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论