操作场景
容器镜像服务 CRS
目前同时提供个人版和企业版服务。企业版服务在个人版的基础之上提供了更加完善、安全和高效的镜像托管和分发服务。对于已使用个人版服务的用户可以参照本章节迁移至企业版服务。当要迁移的镜像数量较少时,可以直接使用docker命令进行迁移。当要迁移的镜像数量较多时,可以使用开源镜像迁移工具image-syncer来进行迁移。
前提条件
• 已开通并使用容器镜像服务CRS个人版实例
• 已开通容器镜像服务CRS 企业版实例
操作步骤
使用docker命令迁移
1. 进入 容器镜像服务控制台。
2. 点击已开通的个人版实例名称。
3. 在 访问凭证 页面查看登录个人版实例的命令。
4. 执行 docker login 命令登录个人版实例
docker login –username=<username> <个人版实例地址>
5. 执行 docker pull 命令从个人版实例拉取容器镜像
docker pull <个人版实例地址>/<命名空间>/<镜像仓库>:<版本>
示例:
docker pull registry-crs-huadong1.ctyun.cn/myns/nginx:stable-alpine
6. 进入 容器镜像服务控制台。
7. 点击已开通的企业版实例名称。
8. 在 容器镜像 - 命名空间 页面点击 创建命名空间,填写命名空间名称并开启 自动创建仓库 完成创建。
9. 在 实例管理 - 访问凭证 页面查看登录企业版实例的命令。
10. 执行 docker login 命令登录企业版实例。
docker login –username=<username> <企业版实例地址>
11. 执行 docker tag命令给从个人版实例拉取的镜像打上标签。
docker tag <源镜像>:<镜像版本> <企业版实例地址>/<命名空间>/<镜像仓库>:<版本>
示例:
docker tag nginx:stable-alpine registry-huadong1.crs.ctyun.cn/myns/nginx:stable-alpine
12. 执行 docker push 命令向企业版实例推送容器镜像
docker push <企业版实例地址>/<命名空间>/<镜像仓库>:<版本>
示例:
docker push registry-huadong1.crs.ctyun.cn/myns/nginx:stable-alpine
使用image-syncer工具迁移
image-syncer 是一个简单易用的开源镜像迁移工具,支持多对多镜像仓库同步,支持主流的基于Docker Registry
V2搭建的镜像存储服务,不依赖Docker及其他程序。具体迁移步骤如下:
1. 下载 image-syncer 并进行解压。
wget https://github.com/AliyunContainerService/image-syncer/releases/download/v1.3.1/image-syncer-v1.3.1-linux-amd64.tar.gz tar -zvxf image-syncer-v1.3.1-linux-amd64.tar.gz
也可参照官方文档使用其他方式进行安装: https://github.com/AliyunContainerService/image-syncer
2. 创建镜像仓库的认证信息文件auth.json,在其中填写个人版和企业版实例地址以及用户名和密码,示例:
{
"registry-crs-huadong1.ctyun.cn": { // 个人版实例地址
"username": "xxx", // 个人版用户名
"password": "xxx" // 个人版密码
},
"registry-huadong1.crs.ctyun.cn": { // 企业版实例地址
"username": "xxx", // 企业版用户名
"password": "xxx" // 企业版密码
}
}3. 创建镜像同步规则文件images.json,在其中指定个人版源仓库和企业版目标仓库的对应关系,示例:
{
"registry-crs-huadong1.ctyun.cn/myns/nginx": "registry-huadong1.crs.ctyun.cn/myns/nginx" // 格式为源仓库:目标仓库,image-syncer将自动同步源仓库下的镜像至目标仓库
}注意,企业版实例需要先新建对应的命名空间和镜像仓库,或者在命名空间开启 自动创建仓库 选项。
4. 执行image-syncer命令开始镜像迁移。
./image-syncer --auth=./auth.json --images=./images.json
命令行可选参数包括:
参数 | 说明 |
–images | 设置镜像同步规则文件的路径 |
–auth | 设置镜像仓库认证文件的路径 |
–log | 设置输出log文件路径,默认打印到标准错误输出 |
–proc | 镜像同步的并发数,默认为5 |
–retries | 同步任务失败时的重试次数,默认为2,重试有助于减少因网络波动而导致的同步任务失败次数。 |
5. 等待命令执行完成,镜像便已成功迁移至企业版实例对应仓库下。
CCSE业务迁移
若之前已使用个人版容器镜像服务在 CCSE 中进行过工作负载的发布,则在完成容器镜像从个人版迁移至企业版之后,还需要参照 5.2 CCSE集群使用容器镜像服务发布应用 章节为CCSE配置相应企业版容器镜像服务的镜像拉取凭证、修改工作负载的镜像为对应企业版容器镜像服务的镜像,并重新发布工作负载。