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
相关推荐
A-刘晨阳6 分钟前
【Linux】Redis 6.2.6 的二进制部署【适用于多版本】
linux·运维·redis
蓝纹绿茶14 分钟前
【Mac】实现Docker下载安装【正在逐步完善】
macos·docker·容器
2401_861615281 小时前
跨平台的ARM 和 x86 Docker 镜像:汇编语言实验环境搭建
linux·汇编·ubuntu·docker·容器
自由游戏开发者2 小时前
用U盘启动制作centos系统最常见报错,系统卡住无法继续问题(手把手)
linux·运维·centos
Ronin3052 小时前
【Linux系统】vim编辑器 | 编译器gcc/g++ | make/Makefile
linux·运维·服务器·ubuntu·编辑器·vim
Bruce_Liuxiaowei2 小时前
Netstat高级分析工具:Windows与Linux双系统兼容的精准筛查利器
linux·运维·网络·windows·安全
INFINI Labs3 小时前
搭建持久化的 INFINI Console 与 Easysearch 容器环境
docker·easysearch·console
易德研发3 小时前
ubuntu24.04安装NFS网络文件系统/ARM开发板NFS挂载
运维·服务器·网络
生活爱好者!4 小时前
NAS 部署白板工具,实现思维导图/画板/流程图自由
运维·docker·容器
乌鸦不像写字台10 小时前
【docker部署】在服务器上使用docker
服务器·docker·容器