Docker 镜像 的常用命令介绍

拉取镜像

shell 复制代码
$ docker pull imageName[:tag]

[:tag] tag 不写时,拉取的 是 latest 的镜像


查看镜像

查看所有本地镜像

shell 复制代码
docker images
or 
docker images -a


查看完整的镜像的数字签名

shell 复制代码
docker images --digests

查看完整的镜像ID

shell 复制代码
docker images --no-trunc

只查看所有的镜像ID

shell 复制代码
docker images -q

只查看某个仓库的镜像

shell 复制代码
docker images repositoryName

只查看某个仓库的某个版本的镜像

shell 复制代码
docker images repositoryName:tag

过滤查看(了解即可)

shell 复制代码
# 查看 日期在 tomcat:8.5 之后的镜像
docker images -f since=tomcat:8.5
# 查看 日期在 tomcat:8.5 之前的镜像
docker images -f before=tomcat:8.5
# 查看 tomcat 仓库的所有 版本的镜像 : 但是只支持官方的镜像
docker images -f reference=tomcat:*

查找镜像

从 docker hub 官网查找(不能用)

由于国内网络的问题,这个命令是不能用的

shell 复制代码
docker search repositoryName

指定国内镜源像查找(可用)

docker.1ms.run 就是一个国内的镜像加速地址,挺好用。

shell 复制代码
docker search docker.1ms.run/mysql

限制查询的条数

--limit=N 选项 限制返回的条数

shell 复制代码
docker search --limit=5 docker.1ms.run/mysql

过滤搜索

-f is-official=true : 过滤官方的镜像

shell 复制代码
docker search -f is-official=true docker.1ms.run/mysql

-f stars=N : 过滤 stars 数量超过N的

shell 复制代码
docker search -f stars=100 docker.1ms.run/mysql

-f is-automated=true : 过滤自动构建的镜像,过时的一个方法,不建议使用。

shell 复制代码
docker search -f is-automated=true docker.1ms.run/mysql

删除镜像

删除镜像

当删除多个的时候,通过空格隔开即可

shell 复制代码
docker rmi repository:tag [其他的镜像]
or
docker rmi imageId [其他的镜像ID]

强制删除

shell 复制代码
docker rmi -f repository:tag
or
docker rmi -f imageId

删除所有镜像

通过引用 docker images -q 命令的返回值,

实现删除所有的镜像。

shell 复制代码
docker rmi -f $(docker images -q)

删除过程会提示删除的镜像分层。

导入导出镜像

导出镜像

就是把镜像到处到一个 tar 的压缩文件中,方便传输。
注意 : 不要使用 imageID ,存在 元数据丢失的问题,即还原后 没有 镜像的名称和 tag 了。

shell 复制代码
# 语法格式
docker save -o targetName.tar repository:tag

# 实际演示一个 : 把本地所有的镜像都打包
docker save -o abc.tar mysql:8.0.41

导入镜像

就是将 tar 文件解压,还原成原来的镜像。

shell 复制代码
# 语法格式
$ docker load -i targetName.tar

# 实际演示一个
$ docker load -i abc.tar

查看镜像的json文件内容

shell 复制代码
docker inspect mysql:8.0.41
相关推荐
慌糖11 分钟前
由docker引入架构简单展开说说技术栈学习之路
docker·容器·架构
m0_7461771937 分钟前
小白畅通Linux之旅-----Linux日志管理
linux·运维·服务器
背太阳的牧羊人1 小时前
Dockerfile 使用多阶段构建(build 阶段 → release 阶段)后端配置
docker
wanhengidc1 小时前
服务器租用:高防CDN和加速CDN的区别
运维·服务器·前端
菜菜笔记3 小时前
Ubuntu 挂载新盘
linux·运维·ubuntu
慌糖3 小时前
Ubuntu安装Docker命令清单(以20.04为例)
linux·ubuntu·docker
hgdlip4 小时前
电脑的ip地址会自动变怎么办?原因解析和解决方法
运维·网络·tcp/ip·电脑
ZZH1120KQ4 小时前
Linux账号和权限管理
linux·运维
@Liu_GuoXing4 小时前
Registry和docker有什么关系?
运维·docker·容器·registry
水水沝淼㵘4 小时前
嵌入式开发学习日志(linux系统编程--系统编程之 进程间通信IPC)Day32
linux·运维·学习