04.Docker镜像命令
- 电脑硬件
- 2025-08-22 23:12:02

Docker 镜像管理命令 Docker 镜像管理命令1. 搜索镜像2.镜像加速配置和优化3. 下载镜像4. 查看本地镜像5. 镜像导出4.镜像导入5. 删除镜像6. 镜像打标签 Docker 镜像管理命令
镜像即创建容器的模版,含有启动容器所需要的文件系统及所需要的内容,因此镜像主要用于方便和快速的创建并启动容器。
镜像里面是一层层的文件系统,叫做 Union FS(联合文件系统),联合文件系统,可以将几层目录挂载到一起(就像千层饼,洋葱头,俄罗斯套娃一样),形成一个虚拟文件系统,虚拟文件系统的目录结构就 像普通 linux 的目录结构一样,镜像通过这些文件再加上宿主机的内核共同提供了一个 linux 的虚拟环 境,每一层文件系统叫做一层 layer,联合文件系统可以对每一层文件系统设置三种权限,只读 (readonly)、读写(readwrite)和写出(whiteout-able),但是镜像中每一层文件系统都是只读的, 构建镜像的时候,从一个最基本的操作系统开始,每个构建提交的操作都相当于做一层的修改,增加了 一层文件系统,一层层往上叠加,上层的修改会覆盖底层该位置的可见性,这也很容易理解,就像上层 把底层遮住了一样,当使用镜像的时候,我们只会看到一个完全的整体,不知道里面有几层,实际上也不需要知道里面有几层。
镜像直接调用宿主机的内核,镜像中只提供 rootfs,也就是只需要包括最基本的命令,配置文件和程序库等相关文件就可以了。
1. 搜索镜像官方网站进行镜像的搜索: hub.docker /
2.镜像加速配置和优化从国内下载官方的镜像站点有时候会很慢,因此可以更改 docker 配置文件添加一个加速器,可以通过加速器达到加速下载镜像的目的。
# docker 镜像加速配置 [root@Ubuntu2204 ~]#vim /etc/docker/daemon.json { "registry-mirrors": [ " docker.1ms.run", " docker.m.daocloud.io" ] } [root@Ubuntu2204 ~]#systemctl daemon-reload [root@Ubuntu2204 ~]#systemctl restart docker 3. 下载镜像 # 从 docker 仓库将镜像下载到本地,命令格式如下: [root@Ubuntu2204 ~]#docker pull --help 用法: docker pull [选项] 名称[:标签|@摘要] docker pull [OPTIONS] NAME[:TAG|@DIGEST] 选项: -a, --all-tags 下载存储库中的所有带标签的镜像 --disable-content-trust 跳过镜像验证(默认为 true) --platform string 如果服务器支持多平台,设置平台 -q, --quiet 抑制详细输出 NAME: 是镜像名,一般的形式 仓库服务器:端口/项目名称/镜像名称 :TAG: 即版本号,如果不指定:TAG,则下载最新版镜像 # 拉取alpine镜像 [root@Ubuntu2204 ~]#docker pull alpine:latest # 查看镜像分层历史 [root@Ubuntu2204 ~]#docker image history alpine:latest # 查看镜像详细信息 [root@Ubuntu2204 ~]#docker inspect alpine:latest # 镜像下载保存的路径: /var/lib/docker/overlay2/镜像ID 4. 查看本地镜像 # docker images 可以查看下载至本地的镜像 [root@Ubuntu2204 ~]#docker images --help 用法: docker images [选项] [仓库[:标签]] docker images [OPTIONS] [REPOSITORY[:TAG]] 列出镜像 选项: -a, --all 显示所有镜像(默认情况下隐藏中间镜像) --digests 显示摘要信息 -f, --filter 过滤器 根据提供的条件过滤输出 --format 字符串 使用 Go 模板格式化镜像输出 --no-trunc 不截断输出 -q, --quiet 仅显示镜像 ID # 执行结果的显示信息说明: REPOSITORY #镜像所属的仓库名称 TAG #镜像版本号(标识符),默认为latest IMAGE ID #镜像唯一ID标识,如果ID相同,说明是同一个镜像有多个名称 CREATED #镜像在仓库中被创建时间 VIRTUAL SIZE #镜像的大小 [root@Ubuntu2204 ~]#docker images [root@Ubuntu2204 ~]#docker image ls 5. 镜像导出利用 docker save 命令可以将从本地镜像导出为一个打包 tar 文件,然后复制到其他服务器进行导入使用。
[root@Ubuntu2204 ~]#docker save --help 用法: docker save [选项] 镜像 [镜像...] docker save [OPTIONS] IMAGE [IMAGE...] 将一个或多个镜像保存到 tar 归档文件(默认情况下流式传输到 STDOUT) 选项: -o, --output 字符串 写入到文件,而不是标准输出(STDOUT) #说明: Docker save 使用IMAGE ID导出,在导入后的镜像没有REPOSITORY和TAG,显示为<none> docker save -o /path/file.tar IMAGE1 IMAGE2 ... docker save IMAGE1 IMAGE2 ... > /path/file.tar [root@Ubuntu2204 ~]#docker save hello-world:latest alpine:latest -o images.tar [root@Ubuntu2204 ~]#docker save hello-world:latest alpine:latest -o images2.tar # 导出所有镜像到一个打包文件 # 使用image ID导出镜像,在导入后的镜像没有REPOSITORY和TAG,显示为<none> [root@Ubuntu2204 ~]#docker save $(docker images -qa) -o all-images.tar [root@Ubuntu2204 ~]#docker save $(docker images | awk 'NR>1 {print $1":"$2}') -o all-images2.tar [root@Ubuntu2204 ~]#docker save $(docker image ls --format "{{.Repository}}:{{.Tag}}") -o all-images3.tar [root@Ubuntu2204 ~]#scp images.tar images2.tar 10.0.0.110: 4.镜像导入利用 docker load 命令可以将镜像导出的打包或压缩文件再导入。
[root@Ubuntu2204 ~]#docker load --help 用法: docker load [选项] docker load [OPTIONS] 从 tar 归档文件或标准输入(STDIN)加载镜像 选项: -i, --input 字符串 从 tar 归档文件读取,而不是标准输入(STDIN) -q, --quiet 抑制加载过程的输出 [root@Ubuntu2204 ~]#docker load < images.tar [root@Ubuntu2204 ~]#docker load -i all-images2.tar 5. 删除镜像 [root@Ubuntu2204 ~]#docker rmi --help 用法: docker rmi [选项] 镜像 [镜像...] docker rmi [OPTIONS] IMAGE [IMAGE...] 删除一个或多个镜像 选项: -f, --force 强制删除镜像 --no-prune 不删除未标记的父镜像 [root@Ubuntu2204 ~]#docker rmi 74cc54e27dc4 # 强制删除正在使用的镜像,也会删除对应的容器 [root@Ubuntu2204 ~]#docker rmi -f alpine:latest # 删除所有镜像 [root@Ubuntu2204 ~]#docker rmi -f `docker images -qa` 6. 镜像打标签docker tag 可以给镜像打标签,类似于起别名,但通常要遵守一定的命名规范,才可以上传到指定的仓库。
[root@Ubuntu2204 ~]#docker tag --help 用法: docker tag 源镜像[:标签] 目标镜像[:标签] docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG] 创建一个指向源镜像的标签目标镜像 #TARGET_IMAGE[:TAG]格式一般形式 仓库主机FQDN或IP[:端口]/项目名(或用户名)/image名字:版本 [root@Ubuntu2204 ~]#docker tag hello-world:latest hello-world:0.0.104.Docker镜像命令由讯客互联电脑硬件栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“04.Docker镜像命令”