Docker 镜像基础命令

查看本地镜像列表:

docker images

拉取远程镜像(以 Ubuntu 为例):

docker pull ubuntu:20.04

删除指定镜像:

docker rmi <IMAGE_ID>

强制删除正在使用的镜像:

docker rmi -f <IMAGE_ID>

镜像构建与打包

通过 Dockerfile 构建镜像:

docker build -t myimage:v1 .

查看镜像构建历史:

docker history <IMAGE_ID>

将镜像保存为 tar 文件:

docker save -o myimage.tar myimage:v1

从 tar 文件加载镜像:

docker load -i myimage.tar

镜像标签管理

给镜像添加新标签:

docker tag myimage:v1 myregistry.com/myimage:v1

推送镜像到私有仓库:

docker push myregistry.com/myimage:v1

离线迁移解决方案

方案1:通过 tar 文件迁移

docker save -o migration.tar image1 image2
scp migration.tar target-server:
docker load -i migration.tar

方案2:使用 registry 中转

# 源服务器
docker tag local-image:latest registry-server:5000/migration-image
docker push registry-server:5000/migration-image

# 目标服务器
docker pull registry-server:5000/migration-image

镜像优化技巧

多阶段构建示例:

FROM golang:1.18 AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp .

FROM alpine:latest
COPY --from=builder /app/myapp .
CMD ["./myapp"]

清理悬空镜像:

docker image prune

镜像安全扫描

执行漏洞扫描:

docker scan <IMAGE_NAME>

查看镜像详细配置:

docker inspect <IMAGE_ID>

检查镜像变更历史:

docker diff <CONTAINER_ID>

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐