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