docker镜像管理命令

文章目录

  • [docker images](#docker images)
  • [docker build](#docker build)
  • [docker rmi](#docker rmi)
  • [docker tag](#docker tag)
  • [docker save](#docker save)
  • [docker load](#docker load)
  • [docker import](#docker import)
  • [docker commit](#docker commit)
  • [docker login/logout](#docker login/logout)
  • [docker pull](#docker pull)
  • [docker push](#docker push)
  • [docker search](#docker search)
  • 总结

docker images

列出本地镜像。

bash 复制代码
docker images [OPTIONS] [REPOSITORY[:TAG]]

OPTIONS说明:

-a :列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层);

--digests :显示镜像的摘要信息;

-f :显示满足条件的镜像;

--format :指定返回值的模板文件;

--no-trunc :显示完整的镜像信息;

-q :只显示镜像ID

bash 复制代码
# 查看所有悬空镜像
docker images --filter dangling=true
# 清除所有悬空镜像
docker image prune

docker build

docker build 命令用于使用 Dockerfile 创建镜像。

bash 复制代码
docker buildx build [OPTIONS] PATH | URL | -

OPTIONS说明:

  • --add-host :向hosts文件中添加自定义 host:ip 映射
  • --build-arg=\[\] :设置镜像创建时的变量;
  • --cache-from :指定镜像用作当前构建的缓存镜像
  • --cgroup-parent :容器的可选父cgroup
  • --compress :使用gzip压缩构建上下文
  • --cpu-period :限制 CPU CFS周期;
  • --cpu-quota :限制 CPU CFS配额;
  • -c,--cpu-shares :设置 cpu 使用权重;
  • --cpuset-cpus :指定使用的CPU id;
  • --cpuset-mems :指定使用的内存 id;
  • --disable-content-trust :跳过镜像校验,默认为true;
  • -f,--file :指定要使用的Dockerfile路径;
  • --force-rm :不论构建是否成功,总是删除中间容器,默认false。注意:中间容器;
  • --iidfile :将镜像ID写入到文件
  • --isolation:使用容器隔离技术;
  • --label=\[\] :设置镜像使用的元数据;
  • -m :设置内存最大值;
  • --memory-swap :设置Swap的最大值为内存+swap,"-1"表示不限swap;
  • --network: 在构建期间为RUN指令设置网络模式(默认"default")与docker run指令无关
  • --no-cache :创建镜像的过程不使用缓存;
  • --pull :总是尝试去更新镜像的新版本;
  • --quiet, -q :安静模式,成功后只输出镜像 ID;
  • --rm :构建成功后,删除中间容器,默认true。注意:中间容器,不是镜像;
  • --security-opt :安全选项
  • --shm-size :设置/dev/shm的大小,默认值是64M;/dev/shm 是基于内存的tmpfs文件系统。
  • --ulimit :Ulimit配置。
  • --tag, -t : 镜像的名字及标签,通常 name:tag 或者 name 格式;可以在一次构建中为一个镜像设置多个标签。
  • --target : 设置要生成的目标生成阶段
  • --ulimit : Ulimit 选项
    示例:
bash 复制代码
docker build -t nodetodo:v1.0.0 -f Dockerfile .

docker rmi

删除本地一个或多个镜像。

bash 复制代码
docker rmi [OPTIONS] IMAGE [IMAGE...]

OPTIONS说明:

-f :强制删除;

--no-prune :不移除该镜像的过程镜像,默认移除。

docker tag

标记本地镜像,将其归入某一仓库。

bash 复制代码
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]

tag可以针对镜像进行版本管理和将镜像推到远程仓库。

docker save

将指定镜像保存成 tar 归档文件。

bash 复制代码
docker save [OPTIONS] IMAGE [IMAGE...]

OPTIONS 说明:

-o :输出到的文件。

bash 复制代码
docker save -o mynginx.tar mynginx:v1
# 解压文件,查看内容
tar vxf mynginx.tar -C mynginx

docker load

导入使用 docker save 命令导出的镜像。

bash 复制代码
docker load [OPTIONS]

OPTIONS 说明:

--input , -i : 指定导入的文件,代替 STDIN。

--quiet , -q : 精简输出信息。

示例:

bash 复制代码
docker load -i mynginx.tar

docker import

从归档文件中创建镜像。

bash 复制代码
docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]

OPTIONS说明:

-c :应用docker 指令创建镜像。

-m :提交时的说明文字。

示例:

bash 复制代码
docker import mynginx.tar mynginx:v3

docker commit

从容器创建一个新的镜像。

bash 复制代码
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

OPTIONS说明:

-a :提交的镜像作者。

-c :使用Dockerfile指令来创建镜像。

-m :提交时的说明文字。

-p :在commit时,将容器暂停。

示例:

docker login/logout

docker login : 登陆到一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub。

docker logout : 登出一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub。

bash 复制代码
docker login [OPTIONS] [SERVER]
docker logout [OPTIONS] [SERVER]

OPTIONS说明:

-u :登陆的用户名。

-p :登陆的密码。

示例:

bash 复制代码
docker login -u 用户名 -p 密码
docker logout

docker pull

从镜像仓库中拉取或者更新指定镜像。

bash 复制代码
docker pull [OPTIONS] NAME[:TAG|@DIGEST]

OPTIONS说明:

-a :拉取所有 tagged 镜像。

--disable-content-trust :忽略镜像的校验,默认开启。

docker push

将本地的镜像上传到镜像仓库,注意,要先登陆到镜像仓库。

bash 复制代码
docker push [OPTIONS] NAME[:TAG]

OPTIONS说明:

--disable-content-trust :忽略镜像的校验,默认开启。

从Docker Hub查找镜像。

bash 复制代码
docker search [OPTIONS] TERM

OPTIONS说明:

--automated :只列出 automated build类型的镜像。

--no-trunc :显示完整的镜像描述。

-f <过滤条件>:列出收藏数不小于指定值的镜像。

bash 复制代码
# 从 Docker Hub 查找所有镜像名包含 nginx,并且收藏数大于 10 的镜像
docker search -f stars=10 nginx

参数说明:

NAME: 镜像仓库源的名称

DESCRIPTION: 镜像的描述

OFFICIAL: 是否 docker 官方发布

stars: 类似 Github 里面的 star,表示点赞、喜欢的意思。

AUTOMATED: 自动构建。

总结

通过本文的介绍,掌握一系列重要的Docker镜像管理命令,从而让容器部署变得更加得心应手。无论是在开发、测试还是生产环境中,这些命令都能够帮助更好地管理和优化Docker镜像,提升云原生技能,加速容器部署,提高工作效率。

相关推荐
楚枫默寒1 小时前
Linux 编辑文件后自动添加修改日期
linux·运维·bash
苦青藤2 小时前
从零搭建 WSUS 隔离网络:完整实战指南(内网离线补丁分发)
运维·windows·microsoft
Irene19914 小时前
Win11 自动更新导致 Docker Desktop 无法正常启动,Oracle SQL Developer 启动时报错
docker·更新
天天进步20155 小时前
Python全栈项目--Python自动化运维工具开发
运维·python·自动化
Soari5 小时前
Ubuntu 根分区文件系统损坏,系统启动时自动检查失败
linux·运维·ubuntu
杨云龙UP6 小时前
Oracle Health Check巡检脚本使用SOP V2.0:从HTML原始报告→生成Word专业巡检报告→交付客户_2026-06-03
linux·运维·数据库·sql·oracle·报告·巡检
广州灵眸科技有限公司6 小时前
瑞芯微RV1126B开发板(EASY-EAI-PI2) Linux虚拟机准备
linux·运维·服务器
darkdragonking6 小时前
OpenEuler 22.03 ,以docker ce 安装 Milvus 及可视化工具
docker·容器·milvus
Lana学习中7 小时前
【运维杂记】连接不上远程服务器的问题处理
运维·服务器
AOwhisky7 小时前
MySQL 学习笔记(第一期):数据库基础与 MySQL 初探
运维·数据库·笔记·学习·mysql·云计算