Docker 镜像重命名
清理旧镜像与无用容器#
长期使用会积累无用镜像、悬空卷和停止容器,可定期执行清理:
# 删除未使用镜像、容器、网络和卷
docker system prune -a或仅删除悬空镜像:
docker image pruneDocker 镜像清理与重命名(去掉代理地址)#
当从自建镜像源拉取的镜像名带有代理前缀时,例如:
[ding@ArchLinux hdy]$ docker images | grep nginx
hub.850899.xyz/library/nginx latest 07ccdb783875 7 days ago 160MB
nginx latest a830707172e8 6 months ago 192MB可以通过以下步骤去掉地址前缀。
1️⃣ 重新打标签(Retag)#
docker tag hub.850899.xyz/library/nginx:latest nginx:latest这会创建一个新的标签 nginx:latest,指向同一镜像 ID。
2️⃣ 删除旧标签#
确认后删除旧镜像名:
docker rmi hub.850899.xyz/library/nginx:latest如果提示该镜像被容器占用,可先停止或重启容器。
3️⃣ 验证结果#
执行:
docker images | grep nginx输出:
nginx latest 07ccdb783875 7 days ago 160MB说明已经成功去掉代理前缀。
客户端应用与优化建议#
1️⃣ 加速国内拉取
本地 Docker 可同时配置多个代理源:
{ "registry-mirrors": [ "https://hub.850899.xyz", "https://docker.m.daocloud.io", "https://mirror.ccs.tencentyun.com" ] }
2️⃣ 保证缓存稳定
若代理节点位于国外,建议启用 Nginx 缓存目录:
proxy_cache_path /var/cache/docker levels=1:2 keys_zone=docker_cache:10m max_size=10g inactive=7d; location /v2/ { proxy_pass http://127.0.0.1:5000; proxy_cache docker_cache; proxy_cache_valid 200 302 10m; }
3️⃣ 日志与清理
代理容器日志查看:
docker logs -f docker-proxy- 定期清理缓存目录,保持空间可用。
总结#
| 操作 | 命令 |
|---|---|
| 启动代理 | docker run -d -p 5000:5000 registry:2 |
| 设置客户端代理 | 修改 /etc/docker/daemon.json |
| 拉取镜像 | docker pull hub.850899.xyz/library/nginx:latest |
| 重命名镜像 | docker tag hub.850899.xyz/library/nginx:latest nginx:latest |
| 删除旧镜像 | docker rmi hub.850899.xyz/library/nginx:latest |
| 清理系统垃圾 | docker system prune -a |
✅ 最终效果
- 国内客户端使用你自建代理源高速拉取镜像
- 拉取后可清理或重命名去掉代理前缀
- 镜像仓库更整洁、结构更规范
- 支持多节点部署与缓存加速
📚 Digital Library