Docker 镜像的常用操作包括:
1. 查看镜像
# 列出本地所有镜像
docker images
docker image ls# 查看镜像详细信息
docker inspect nginx:latest# 查看镜像历史 layer
docker history nginx:latest
2. 拉取镜像
# 从 Docker Hub 拉取镜像
docker pull nginx:latest
docker pull ubuntu:20.04# 从私有仓库拉取
docker pull myregistry.com/myapp:v1.0
3. 构建镜像
# 使用 Dockerfile 构建
docker build -t myapp:v1 .# 指定 Dockerfile 路径
docker build -t myapp:v1 -f /path/to/Dockerfile .# 构建时不使用缓存
docker build --no-cache -t myapp:v1 .
4. 删除镜像
# 删除指定镜像
docker rmi nginx:latest
docker image rm ubuntu:20.04# 强制删除(即使有容器依赖)
docker rmi -f nginx:latest# 删除所有未使用的镜像
docker image prune# 删除所有镜像
docker rmi $(docker images -q)
5. 标记和重命名镜像
# 给镜像添加新标签
docker tag myapp:v1 myapp:latest
docker tag myapp:v1 myregistry.com/myapp:v1
6. 导出和导入镜像
# 导出镜像为 tar 文件
docker save -o myapp.tar myapp:v1
docker save myapp:v1 > myapp.tar# 导入镜像
docker load -i myapp.tar
docker load < myapp.tar# 导出运行中的容器为镜像
docker export container_name > container.tar
# 导入为镜像
docker import container.tar mynewimage:v1
7. 推送镜像到仓库
# 推送到 Docker Hub
docker push myusername/myapp:v1# 推送到私有仓库
docker push myregistry.com/myapp:v1
8. 查看镜像详情
# 查看镜像层信息
docker history myapp:v1# 查看镜像详情 JSON 格式
docker inspect myapp:v1# 查看镜像占用空间
docker system df
9. 清理镜像
# 删除所有悬挂(dangling)镜像
docker image prune# 删除所有未使用的镜像(包括悬挂和未被容器使用的)
docker image prune -a# 清理系统所有未使用资源(包括镜像、容器、网络等)
docker system prune -a
10. 其他实用操作
# 搜索镜像(Docker Hub)
docker search nginx# 查看镜像构建历史
docker history nginx:latest --no-trunc# 过滤镜像
docker images --filter "dangling=true"
docker images --format "table {{.Repository}}\t{{.Tag}}\t{{.Size}}"# 保存镜像到本地压缩文件
docker save myapp:v1 | gzip > myapp.tar.gz# 从压缩文件加载镜像
gunzip -c myapp.tar.gz | docker load
11. 常见操作组合示例
docker pull ubuntu:20.04 # 拉取基础镜像
docker build -t myapp:v1 . # 构建镜像
docker tag myapp:v1 myapp:latest # 添加标签
docker save -o myapp_backup.tar myapp:v1 # 备份镜像
docker rmi myapp:v1 # 删除旧镜像
docker load -i myapp_backup.tar # 恢复镜像
docker push myusername/myapp:v1 # 推送到仓库
