Docker 镜像的常用操作

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
# 国内的镜像源推荐用华为云
sudo docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/python:latest

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             # 推送到仓库
posted @ 2026-04-26 06:17  华小电  阅读(7)  评论(0)    收藏  举报