Docker镜像之命令清单详解

 更新时间:2026年03月16日 11:05:15   作者:灰阳阳  
本文主要介绍了Docker的常用命令及其功能,包括查看镜像、给镜像打标签、拉取镜像、删除镜像、保存镜像、加载镜像、显示容器或镜像信息、查看镜像构建历史、导入镜像、批量删除镜像以及根据Dockerfile构建镜像

1. docker images

功能

查看所有镜像

语法

docker images [option] [repository[:tag]]

常见参数

  • --a :列出所有镜像,包括中间层镜像(默认不显示中间层)
  • --digests:限制镜像的 摘要信息
  • -q: 只显示镜像ID
  • --no-trunc:显示完整镜像信息,不截断

效果演示

docker images nginx

2. docker tag

功能

给某个镜像打标签,确保可以正确推送到仓库

镜像推送到仓库需要在镜像名字前面添加仓库的地址:

地址添加方式使用的就是docker tag

用法

  1. 登录账号
docker login hyy_registry.com
  1. 打标签
docker tag myweb:v1.6 hyy_registry.com/myweb:v1.6
  1. 推送到远程仓库
docker push hyy_registry.com/myweb:v1.6

注意点

打完标签后,该容器会有两个名字,分别是hyy_registry.com/myweb:v1.6myweb:v1.6,但是它们的imgeID是一样的,并且使用同一个物理空间

3. docker pull

从远程仓库拉取指定对象

4. docker rmi

功能&语法

删除镜像

docker rmi [options] [镜像ID/镜像名字] 

常见参数

  • -f 强制删除
  • --no-prune: 不移除中间镜像(防止误删共享层,快速重新构建镜像)

5. docker save

功能&语法

用于把指定镜像,归档为tar压缩文件

docker save -o [文件名称] [镜像名:标签]

6. docker load

功能&语法

把docker save的压缩文件加载为镜像

docker load [options] [镜像tar文件] 	

选项

  • -i 用于指定需要加载的文件(用的最多)
  • -q 静默输出,load命令运行时,会显示任务过程,如果是编写自动化脚本可以用-q

演示

7. docker inspect

功能

显示容器或者镜像的信息

docker inspect [容器ID/镜像ID]

8.docker history

功能

查看指定镜像的构建历史信息,用于给镜像“瘦身”

docker history [options] 镜像名字

选项

  • --human 人类易于阅读的方式呈现
  • --no-trunc 不截断信息
  • -q 只显示镜像ID

9. docker import

功能

docker import是把tar文件转为镜像。但是它和docker save/load本质上是不同的,docker import要和docker export一起用。

docker export可以把一个正在运行(或者created)的容器打包为tar文件,然后通过docker import加载为一个全新的镜像。

save和export的区别:

相比于save,export是一种快照导入的方式,他会丢弃之前所有的构建信息以及元数据,只保留文件状态,因此体积较小,一般用于基础镜像构建;

而save命令保存了该镜像的所有层级,一般用于文件备份;

docker import [options] export生成的tar文件 新的镜像名字

选项

  • -c 用于定义Dockerfile指令
  • -m 添加文字说明

演示

docker ps
CONTAINER ID   IMAGE          COMMAND                  CREATED        STATUS        PORTS                                 NAMES
8035b11487dd   nginx:1.23.3   "/docker-entrypoint.…"   26 hours ago   Up 26 hours   0.0.0.0:80->80/tcp, [::]:80->80/tcp   my_nginx

docker export -o my_nginx_1_11.tar 8035b11487dd

ls -lh | grep 1_11
-rw------- 1 root root 138M Jan 11 16:23 my_nginx_1_11.tar

docker import -c 'CMD ["nginx","-g","daemon off;"]' \ -m '这个nginx的主页我修改过' my_nginx_1_11.tar import_image:v1
sha256:9aa858f5e9dcc5456df374f1e69e9e313c5fc154af0b4323e24f02e08daee63c

docker images
REPOSITORY       TAG                   IMAGE ID       CREATED         SIZE
import_image     v1                    9aa858f5e9dc   6 minutes ago   140MB

10. docker image prune

功能

批量删除镜像

docker image prune [options]

选项

  • -a docker image prune默认只会删除悬空镜像,如果添加-a那么会删除所有未被使用的镜像
  • -f 强制删除镜像,并且跳过【y/n】交互提示,一般CI/CD用的多

什么是未被使用的镜像?

当前的所有容器中,没有一个是由该镜像创建的,那么这个镜像就是未被使用的

11. docker build

功能

根据DockerFile文件中的指令,构建镜像

docoker build [options] 构建上下文路径

选项

  • -t: 给镜像打标签,例如 docker build -t myweb:v1.0 .
  • -f: 指定DocerFile文件,一般默认搜索工作目录名为Dockerfile的文件
  • --no-cache: 告诉docker引擎,不要使用缓存构建,使用最新的资源,例如:防止update层没有更新最新系统
  • -q:成功后只输出镜像ID
  • --network:设置构建过程中,容器的网络类型(default、host、none…)
  • --build-arg:动态设置构建参数,例如Dockerfile中设置了ARG version =1.1 我们可以使用--build-arg VERSION=1.2进行动态修改

构建上下文 . 的含义:

  • 很多人认为.的含义是告诉docker引擎构建上下文为当前目录,这个理解其实是片面的。
  • 实际上.的含义是:告诉docker客户端,把当前目录的所有文件打包,发给docker引擎进行处理;

为什么要强调这点呢?

因为如果当前目录存在大量无关数据,那么整体构建时间、docker程序、磁盘IO都会爆炸!

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Docker私有仓库管理和删除本地仓库中的镜像

    Docker私有仓库管理和删除本地仓库中的镜像

    这篇文章主要介绍了Docker私有仓库管理和删除本地仓库中的镜像,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • 解决docker容器设置DNS不生效的问题

    解决docker容器设置DNS不生效的问题

    文章主要介绍了如何在Docker中设置DNS,并通过两种方式(`docker run`和`docker-compose.yml`)进行了详细说明,虽然`docker run`方式可以成功设置DNS,但`docker-compose.yml`方式在某些情况下会导致DNS配置无效,因为容器的`/etc/resolv.conf`文件
    2025-01-01
  • 如何使用docker compose部署dify(大模型开发使用平台)

    如何使用docker compose部署dify(大模型开发使用平台)

    Dify是一款生成式AI应用中间件,面向有私有部署与数据合规需求的企业用户,推动企业向AI+时代转型,这篇文章主要介绍了使用docker compose部署dify(大模型开发使用平台),需要的朋友可以参考下
    2025-05-05
  • 解决Docker安装错误failure:repodata/repomd.xml from docker-ce-stable

    解决Docker安装错误failure:repodata/repomd.xml from docke

    在使用yum命令安装docker或其他工具时可能会遇到failure_repodata_repomd.xmlfromdocker-ce-stable_[Errno256]Nomoremirrorstotry的错误,原因可能是yum源配置问题,解决方法包括重置yum源,删除多余的repo文件
    2024-11-11
  • Docker 清理的常用方法及问题

    Docker 清理的常用方法及问题

    这篇文章主要介绍了Docker 清理的常用方法及问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • 详解如何完整卸载Docker Toolbox

    详解如何完整卸载Docker Toolbox

    这篇文章主要介绍了详解如何完整卸载Docker Toolbox,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • Docker开启Docker API方式

    Docker开启Docker API方式

    文章介绍了如何在Linux系统上开启Docker API,包括修改配置文件和修改docker服务配置两种方式,同时,还提供了解决配置冲突的异常解决方案,并验证API是否开启的方法
    2025-12-12
  • Docker安装宝塔面板的实现

    Docker安装宝塔面板的实现

    本文主要介绍了Docker安装宝塔面板的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-08-08
  • 使用docker compose安装FastDfs文件服务器的实例详解

    使用docker compose安装FastDfs文件服务器的实例详解

    这篇文章主要介绍了使用docker compose安装FastDfs文件服务器的实例详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-10-10
  • Jenkins整合Docker自动化部署的实现

    Jenkins整合Docker自动化部署的实现

    本文主要介绍了Jenkins整合Docker自动化部署的实现,通过结合Jenkins的持续集成和Docker的容器化技术,可以高效地构建、测试和部署应用程序,感兴趣的可以了解一下
    2023-11-11

最新评论