Docker 镜像相关命令介绍与示例

Docker 镜像是容器的基础,包含了运行应用所需的所有文件和依赖。以下是常用的 Docker 镜像命令及其示例:

1. 查看镜像列表

bash 复制代码
docker images

示例输出

复制代码
REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
ubuntu        latest    1d622ef86b13   2 weeks ago    72.9MB
nginx         alpine    6efc2a5a0b54   3 weeks ago    23.5MB

选项

  • -a:显示所有镜像(包括中间层镜像)
  • --no-trunc:显示完整的镜像ID
  • -q:只显示镜像ID

2. 拉取镜像

bash 复制代码
docker pull [选项] <镜像名>[:标签]

示例

bash 复制代码
docker pull ubuntu:20.04
docker pull nginx:alpine

3. 搜索镜像

bash 复制代码
docker search [选项] <关键词>

示例

bash 复制代码
docker search mysql
docker search --limit 5 redis

4. 删除镜像

bash 复制代码
docker rmi [选项] <镜像名或ID>

示例

bash 复制代码
docker rmi ubuntu:20.04
docker rmi 1d622ef86b13

选项

  • -f:强制删除

5. 查看镜像详情

bash 复制代码
docker inspect <镜像名或ID>

示例

bash 复制代码
docker inspect nginx

6. 构建镜像

bash 复制代码
docker build [选项] <上下文路径>

示例

bash 复制代码
docker build -t myapp:v1 .
docker build -f Dockerfile.dev -t myapp:dev .

7. 给镜像打标签

bash 复制代码
docker tag <源镜像> <新镜像名>:<标签>

示例

bash 复制代码
docker tag nginx:alpine myregistry.com/nginx:prod

8. 保存镜像为文件

bash 复制代码
docker save -o <文件名>.tar <镜像名>

示例

bash 复制代码
docker save -o nginx.tar nginx:alpine

9. 从文件加载镜像

bash 复制代码
docker load -i <文件名>.tar

示例

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

10. 查看镜像历史

bash 复制代码
docker history <镜像名>

示例

bash 复制代码
docker history ubuntu:20.04

11. 清理无用镜像

bash 复制代码
docker image prune [选项]

示例

bash 复制代码
docker image prune -a  # 删除所有未被容器使用的镜像
docker image prune -a --filter "until=24h"  # 删除24小时前创建的无用镜像

12. 导出和导入镜像

bash 复制代码
# 导出
docker export <容器ID> > container.tar

# 导入
docker import container.tar new-image-name:tag

实际使用示例

  1. 拉取并运行一个Nginx容器
bash 复制代码
docker pull nginx:alpine
docker run -d -p 8080:80 --name my-nginx nginx:alpine
  1. 构建自定义镜像
bash 复制代码
# 假设当前目录有Dockerfile
docker build -t my-webapp:v1 .
docker run -p 5000:5000 my-webapp:v1
  1. 备份和恢复镜像
bash 复制代码
docker save -o backup.tar nginx:alpine ubuntu:20.04
docker load -i backup.tar
  1. 清理空间
bash 复制代码
# 删除所有未被使用的镜像
docker image prune -a
相关推荐
XIAOHEZIcode18 小时前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户0328472220701 天前
如何搭建本地yum源(上)
运维
武子康1 天前
调查研究-183 Apple container:Mac 上用轻量 VM 跑 Linux 容器,Swift 会改写本地容器体验吗?
docker·容器·apple
大树884 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠4 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质4 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
Inhand陈工4 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
Alsn864 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
酣大智4 天前
ARP代理--工作原理
运维·网络·arp·arp代理
shushangyun_4 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化