在本节中,我们将详细介绍 Docker 镜像的常用命令,帮助您更好地管理和操作镜像。以下是核心命令及其功能说明:
1.使用"ls"查看镜像列表
#查看现有的镜像列表[root@docker01 ~]# docker images [root@docker01 ~]# docker image ls#仅查看镜像的ID信息。[root@docker01 ~]# docker image ls#查看所有的镜像,包括中间镜像,尤其是在后期查看基于dockerfile的时候很有用呢[root@docker01 ~]# docker image ls -a
2.使用"pull"拉取镜像
# image可以省略 docker pull -q nginx:1.20.1
# -q 不显示下载过程
# nginx:1.20.1 镜像:镜像版本
[root@docker01 ~]# docker image pull -q nginx:1.20.1
3.使用"tag"为镜像取别名
[root@zk52 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx 1.20.1 c8d03f6b8b91 3 years ago 133MB
# 为nginx:1.20.1 镜像取别名 liux-nginx:v1,会创建一个新的tag
[root@zk52 ~]# docker image tag nginx:1.20.1 liux-nginx:v1
[root@zk52 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
liux-nginx v1 c8d03f6b8b91 3 years ago 133MB
nginx 1.20.1 c8d03f6b8b91 3 years ago 133MB
4.使用"save"导出镜像的2种方式
#导出镜像liux-nginx:v1到liux-nginx-v1.tar.gz
#以下两种方式皆可
[root@docker01 ~]# docker image save -o liux-nginx-v1.tar.gz liux-nginx:v1
[root@docker01 ~]# docker image save liux-nginx:v1 > liux-nginx-v1.tar.gz
[root@docker01 ~]# ll
-rw------- 1 root root 137376256 May 14 10:58 liux-nginx-v1.tar.gz
5.使用"load"导入镜像的2种方式
[root@docker01 ~]# docker load -i liux-nginx-v1.tar.gz
Loaded image: liux-nginx:v1
[root@docker01 ~]# docker load < liux-nginx-v1.tar.gz
#补充一个批量导入命令
[root@docker01 ~]# ls liux-docker*.tar.gz | xargs -i docker load -i {}
[root@docker01 ~]# for image_name in `ls liux-docker.*tar.gz`; do docker load -i ${image_name}; done
6.使用"rm"删除镜像
[root@docker01 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
liux-nginx v1 c8d03f6b8b91 3 years ago 133MB
nginx 1.20.1 c8d03f6b8b91 3 years ago 133MB
#删除名称为liux-nginx:v1镜像
[root@docker01 ~]# docker image rm liux-nginx:v1
Untagged: liux-nginx:v1
[root@docker01 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx 1.20.1 c8d03f6b8b91 3 years ago 133MB
# -f 强制删除 但有容器基于该镜像启动时删除的只是镜像名称,并不会彻底删除镜像
[root@docker01 ~]# docker image rm -f liux-nginx:v1
#补充一个批量删除镜像
# docker image ls -aq 获取镜像id
[root@docker01 ~]# docker image rm `docker image ls -aq`
7.使用"inspect"查看镜像的详细信息
[root@docker01 ~]# docker inspect nginx:1.20.1
#过滤Id
[root@docker01 ~]# docker inspect -f "{{.Id}}" nginx:1.20.1
sha256:c8d03f6b8b915209c54fc8ead682f7a5709d11226f6b81185850199f18b277a2
#可以使用jq过滤指定信息
[root@docker01 ~]# yum -y install jq
[root@docker01 ~]# docker nginx:1.20.1 |jq .[].Id
8.使用"prune"移除所有没有tag且未使用的镜像
#移除所有没有tag的镜像,且该镜像没有被容器使用。使用-f选项可以不打印提示信息。
[root@docker01 ~]# docker image prune
WARNING! This will remove all dangling images.
Are you sure you want to continue? [y/N] y
Total reclaimed space: 0B
[root@docker01 ~]# docker image prune -f
以上就是 Docker 镜像常用命令的详细介绍。如果还有未讲解到的内容或任何疑问,欢迎随时联系小刘,小刘将为您提供在线支持。下一期我们将深入探讨 Docker 容器的常用命令,敬请期待!