0


【Docker】镜像操作

文章目录

一、镜像名称

首先来看下镜像的名称组成:

  • 镜名称一般分两部分组成:[repository]:[tag]tag 一般是指版本。
  • 在没有指定tag时,默认是latest,代表最新版本的镜像

如下图:这里有一个mysql:5.7的镜像,冒号前的mysql就是一个repository,而冒号之后的5.7就是tag(版本),合一起就是镜像名称,代表5.7版本的MySQL镜像。

因此 mysql:5.7 和 mysql:5.6 是两个不同的版本。
image-20210731155141362


二、镜像命令

Docker镜像的操作无非就是CURD。

获取镜像一般有两种做法:

  • 从本地获取,你会需要一个名为Dockerfile的文件,然后使用 docker build 命令把它构建成一个镜像,这一部分后期会去专门学习。
  • 除了从本地构建镜像以外,大多数情况下会使用 docker pull 命令从 Docker Registry 服务器里去拉取镜像。 docker pull 命令可以从私服拉,也可以从公共的Docker Registry服务拉,例如DockerHub。

使用

docker images

命令查看镜像,

images

就是镜像的意思。

使用

docker rmi

删除镜像。

rmi(remove images)

,后面跟上 镜像名称 或者 镜像id

将镜像分享给别人也有两种方式:

  • 将镜像推送到镜像服务器中,例如公司的私服,这种方式需要用到 docker push 命令。
  • 将镜像用U盘拷给同事,使用 docker save 命令将镜像保存成一个压缩包,此时同事就可以拿着U盘来拷这个压缩包了。拷过去后,使用 docker load 命令将压缩包加载为镜像。
    image-20241031184827700
    查看帮助文档:
    docker --help
    
    ,此时会出现关于docker的所有命令。

如果我想知道

docker images

命令是做什么的,就可以使用:

docker images --help

, 它的作用就是:列出所有的镜像,并且还有各种各样的参数,每个参数什么含义这里都有说明。

image-20240320212020628


三、案例1:拉取、查看镜像

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

1)首先去镜像仓库搜索nginx镜像,比如DockerHub

image-20210731155844368

在它的上面有一个标识:Official Image。证明它是官方的正版镜像,所以我们就使用它。

image-20240320212233743

点进去后,可以看见它有很多不同的版本,如果不指定版本的时候,它就是默认最新版(latest)

image-20240320212537720

在网页的最右侧,浏览器给出了示例的命令,

docker pull nginx

就是在拉取nginx的镜像,但它没有指定版本,所以默认就是最新版本

image-20240320212952720


2)根据查看到的镜像名称,拉取自己需要的镜像,通过命令:docker pull nginx,这个拉取速度会比较慢

image-20210731155856199


3)通过命令:docker images 查看拉取到的镜像,后面可以跟参数也可以不跟

每一个镜像都会有一个自己的唯一id。创建时间是3周前,大小只有133M
image-20210731155903037


四、案例2-保存、导入镜像

需求:利用docker save将nginx镜像导出磁盘,变成一个压缩包,然后再通过load加载回来

1)利用docker xx --help命令查看docker save和docker load的语法

例如,查看save命令用法,可以输入命令:

docker save --help

结果:保存一个或多个镜像到tar文件当中(也就是一个压缩文件当中)。Usage后面给出的是命令的示例,IMAGE:你要导出的是哪个镜像,写的是镜像的名字。Options:选项。

-o

:输出,写入到一个指定的文件当中,如果文件不存在,将来它会自动创建

image-20210731161104732

命令格式:

docker save -o [保存的目标文件名称][镜像名称]

2)使用docker save导出镜像到磁盘

运行命令:保存到

nginx.tar文件

中,这个文件不存在,将来它会自动创建

PS:镜像名由两部分组成:

repository:tag
docker save -o nginx.tar nginx:latest

结果如图:

image-20210731161354344


3)导入:使用docker load加载镜像

先删除本地的nginx镜像:(remove images)

docker rmi nginx:latest

然后通过

docker images

查看nginx:latest 这个镜像是否还存在

然后运行命令,加载本地文件:

docker load -i nginx.tar
-i

:input,你要读哪个文件,从 tar 存档文件读取,而不是从 STDIN 读取

-q

:quiet(安静的,即不打印日志)

image-20240321093525195

结果:

image-20210731161746245

然后再通过

docker images

查看

nginx:latest

这个镜像是否加载回来。

标签: docker 容器 运维

本文转载自: https://blog.csdn.net/qq_39921135/article/details/143655307
版权归原作者 洛上言 所有, 如有侵权,请联系我们删除。

“【Docker】镜像操作”的评论:

还没有评论