文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

docker镜像管理命令详解

2024-04-02 19:55

关注
目录

一、国内Docker镜像仓库

由于大家都知道的原因,从国外的docker 仓库中pull镜像的下载速度实际上是很慢的。国内的一些一线厂商以及docker官方都在国内免费提供了一些docker镜像仓库,使用国内的镜像仓库下载速度会有很大的提升。例如:

我们以Docker官方提供的中国 registry mirror为例,来讲解国内镜像仓库源的配置方式。将 /etc/docker/daemon.json 文件内容修改为如下内容,如果该文件不存在就新建一个

{
"registry-mirrors":["https://registry.docker-cn.com"]
}

配置完成之后,重启docker服务

sudo systemctl restart docker

再去下载pull镜像,会发现比以前快了很多。就这么简单!

三、搜索镜像

Docker Hub 上有很多的官方镜像以及第三方上传的高质量镜像,下面就为大家介绍如何搜索并获取这些镜像。

我们也可以使用 命令来搜索镜像。比如我们需要一个tomcat的镜像来作为我们的web服务。我们可以通过 docker search 命令搜索tomcat来寻找适合我们的镜像。

docker search redis

OFFICIAL字段值为OK的那一条记录为官方的镜像。

四、拉取镜像

从 Docker 镜像仓库获取镜像的命令是 docker pull其命令格式为:

docker pull [选项] [Docker Registey 地址[:端口号]/] 镜像名[:标签]

具体的选项可以通过 docker pull --help 命令看到,这里我们说一下镜像名称的格式。

<域名/IP>[:端口号]
<用户名>/<软件名>

示例:通过 docker pull获取redis最新版本的镜像

docker pull redis:latest

等同于

docker pull redis

五、列出镜像

要想列出已经下载下来的镜像,可以使用 docker image ls 命令。

docker images   //等同于docker image ls

六、虚悬镜像

在镜像列表中,可能会存在一种特殊的镜像,该镜像既没有仓库名/镜像名称,也没有标签/版本号,这两个位置均显示 <none> ,这种镜像通常被称为 虚悬镜像 ,如下入所示。

虚悬镜像产生的原因是什么?

其实虚悬镜像最开始pull下载的时候是有镜像名称和标签版本号名称的,比如redis官方发布了一个docker镜像6.0版本,过了一段时间发现6.0版本的镜像有可能存在安全问题,所以重新构建了一个6.0版本的镜像。

镜像名称redis和6.0的TAG都被新发布的镜像占用了,旧版本的镜像就丢失了镜像名称和标签,变成了虚悬镜像。

一般来说,虚悬镜像已经失去了存在的价值,是可以随意删除的,使用下面的命令删除:

docker image prune

七、删除本地镜像

下面的两种语法都可以完成镜像删除的操作:

docker rmi [选项] <镜像1> [<镜像2>.....]
docker image rm <镜像1>  [<镜像2>.....]

上文语法中可以使用 镜像ID、镜像名作为镜像的唯一标识用来删除镜像。常用的[选项]是 -f 表示强制删除,有的时候同一个镜像上传到多个仓库,此时镜像ID就不再是唯一标识,需要使用 -f 强制删除才能删除镜像(具有同一个镜像ID的所有本地镜像全部删除)。

需要注意的是:删除镜像之前必须确认被删除的镜像,没有被任何容器使用,否则无法删除。

如下所示,删除hello-world镜像的响应结果。

# docker rmi hello-world
Untagged: hello-world:latest
Untagged: hello-world@sha256:bfea6278a0a267fad2634554f4f0c6f31981eea41c553fdf5a83e95a41d40c38
Deleted: sha256:feb5d9fea6a5e9606aa995e879d862b825965ba48de054caab5ef356dc6b3412
Deleted: sha256:e07ee1baac5fae6a26f30cabfe54a36d3402f96afda318fe0a96cec4ca393359

八、镜像的导入导出

用 save 子命令将本地仓库的镜像保存为当前目录下的tar文件。

docker save -o <自定义包名>.tar <镜像名称>

如下面的命令将 hello-world镜像导出为一个helloworld.tar存放在当前目录

docker save -o helloworld.tar hello-world

我们可以在另一台服务器上,将hello-world镜像导入,导入方法如下:

导入方式一(不输出详细信息):

# docker load -i helloworld.tar

导入方式二(输出详细信息):

# docker load < helloworld.tar

镜像导出导入功能可以用于镜像备份,在没有镜像仓库的公司中也可以使用这种tar包的方式传递镜像文件。

到此这篇关于docker镜像管理命令的文章就介绍到这了,更多相关docker镜像管理内容请搜索编程界以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程界!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-服务器
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯