目录
[Ⅰ docker images](#Ⅰ docker images)
[Ⅱ docker search](#Ⅱ docker search)
[Ⅲ docker pull](#Ⅲ docker pull)
[Ⅳ docker system df](#Ⅳ docker system df)
[Ⅴ docker rmi](#Ⅴ docker rmi)
[@ 面试题:虚悬镜像](#@ 面试题:虚悬镜像)
1.帮助启动类命令
启动docker: systemctl start docker
停止docker: systemctl stop docker
重启docker: systemctl restart docker
查看docker状态: systemctl status docker
开机启动: systemctl enable docker
查看docker概要信息: docker info
查看docker总帮助手册: docker --help
查看docker命令帮助手册: docker 具体命令 --help
2.镜像命令
Ⅰ docker images
列出本地主机上的镜像
docker images
参数:
-a
:列出所有镜像(含历史镜像)-q
:只显示镜像ID-f
:过滤
结果输出解读:
[root@rockylinux ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest d2c94e258dcb 14 months ago 13.3kB
-
- REPOSITORY:表示镜像的仓库源
- TAG:镜像的标签版本号
- IMAGE ID:镜像ID
- CREATED:镜像创建时间
- SIZE:镜像大小
同一仓库源可以有多个 TAG版本,代表这个仓库源的不同个版本,我们使用 REPOSITORY:TAG 来定义不同的镜像。
如果不指定一个镜像的版本标签,例如你只使用 ubuntu,docker 将默认使用 ubuntu:latest 镜像
Ⅱ docker search
在远程仓库中搜索镜像
(默认取docker hub中搜索)
docker search [OPTIONS] 镜像名称
参数:
-f
:过滤--limit 数量
:只展示前几项 例:docker search --limit 5 redis(默认25个)
结果输出解读:
[root@rockylinux ~]# docker search redis
NAME DESCRIPTION STARS OFFICIAL
redis Redis is the world's fastest data platform f... 12884 [OK]
redis/redis-stack-server redis-stack-server installs a Redis server w... 76
|-------------|----------|
| 参数 | 说明 |
| NAME | 镜像名称 |
| DESCRIPTION | 镜像说明 |
| STARS | 点赞数量 |
| OFFICIAL | 是否是官方的 |
| AUTOMATED | 是否是自动构建的 |
Ⅲ docker pull
拉取镜像
docker pull 镜像名称[:tag]
不加 tag 时,默认下载最新的镜像(即tag为latest
)。
Ⅳ docker system df
查看镜像/容器/数据卷所占的空间:
docker system df
[root@rockylinux ~]# docker system df
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 4 3 701.1MB 515.6MB (73%)
Containers 7 0 51B 51B (100%)
Local Volumes 2 1 0B 0B
Build Cache 0 0 0B 0B
Ⅴ docker rmi
删除镜像
docker rmi 镜像名称/ID
可以使用空格分隔,删除多个镜像:
docker rmi 镜像1 镜像2 镜像3 (docker rmi -f 镜像名1:TAG 镜像名2:TAG )
删除全部镜像:
docker rmi -f $(docker images -qa)
强制删除 docker rmi -f 镜像名称/ID
@ 面试题:虚悬镜像
特点
- 没有标签:仓库名、标签都是
<none>
的镜像,俗称虚悬镜像(dangling image) 因此无法通过 docker run 或 docker pull 命令直接引用它们。 - 占用空间:尽管这些镜像没有标签,它们仍然占用磁盘空间
查看和清理:
查看: docker images -f "dangling=true"
单个删除可以查询到后,通过image id 删除
清理(删除所有):
docker image prune
或者
docker rmi $(docker images -f "dangling=true" -q)