容器镜像迁移 本文主要介绍容器镜像迁移。 应用现状 随着容器化技术的发展,越来越多的企业使用容器代替了虚拟机完成应用的运行部署。目前许多企业选择自建Kubernetes集群,但是自建集群往往有着沉重的运维负担,需要运维人员自己配置管理系统和监控解决方案。企业自运维大批镜像资源,意味着要付出高昂的运维、人力、管理成本,且效率不高。 容器镜像服务支持Linux等多架构容器镜像托管。企业可以将镜像仓库迁移到容器镜像服务,节省运维成本。 如何把已有的镜像仓库平滑地迁移到容器镜像服务?这里将介绍2种常见的方案,用户可以根据自己的实际使用场景来选择。 迁移方案 随着 方案类型 适用场景 注意事项 使用docker命令迁移镜像至SWR 待迁移的镜像数量较少 依赖磁盘存储,需要及时进行本地镜像的清理,而且落盘形成多余的时间开销,难以胜任生产场景中大量镜像的迁移。 依赖docker 程序,docker daemon 对 pull/push 的并发数进行了严格的限制,没法进行高并发同步 一些功能只能经过HTTP api 进行操作,单纯使用 docker cli 没法做到,使脚本变得复杂 使用imagesyncer迁移镜像至SWR 待迁移的镜像数量庞大 支持多对多镜像仓库同步 支持基于Docker Registry V2 搭建的 docker 镜像仓库服务 (如 Docker Hub、 Quay、 Harbor等) 同步只通过内存和网络,不依赖磁盘存储,同步速度快 增量同步, 经过对同步过的镜像 blob 信息落盘,不重复同步已同步的镜像 并发同步,能够经过配置文件调整并发数Ÿ 自动重试失败的同步任务,能够解决大部分镜像同步中的网络抖动问题 不依赖docker 以及其余程序