云服务器内容精选
-
操作步骤 下载image-syncer到执行机上,解压并运行工具。 以v1.5.0版本为例,您也可以选择其他版本。 wget https://github.com/AliyunContainerService/image-syncer/releases/download/v1.5.0/image-syncer-v1.5.0-linux-amd64.tar.gz tar -zvxf image-syncer-v1.5.0-linux-amd64.tar.gz 创建镜像仓库的认证信息文件auth.json。 image-syncer支持基于Docker Registry V2搭建的docker镜像仓库,按格式填写即可。将源仓库及目标仓库认证信息写入,示例如下。 { "swr.××××.myhuaweicloud.com": { "username": "××××@F1I3Q……", "password": "2fd4c869ea0……" }, "swr.××××.myhuaweicloud.com": { "username": "××××@4N3FA……", "password": "f1c82b57855f9d35……" } } 其中swr.××××.myhuaweicloud.com 为镜像仓库地址,username、password可以在登录命令中获取,获取方法如下: 登录SWR控制台,在总览页面右上角单击“登录指令”,在弹出的窗口中获取登录指令,如下图所示。 图1 登录指令 创建同步镜像描述文件images.json。 如下示例,左边是源仓库的地址,右边是目的仓库地址。image-syncer还支持其他描述方式,具体请参见README-zh_CN.md。 { "swr.cn-north-4.myhuaweicloud.com/org-ss/canary-consumer": "swr.cn-east-3.myhuaweicloud.com/dev-container/canary-consumer" } 执行如下命令将镜像迁移至SWR。 ./image-syncer --auth=./auth.json --images=./images.json --namespace=dev-container --registry=swr.cn-east-3.myhuaweicloud.com --retries=3 --log=./log 表1 命令行参数说明 参数 说明 --config 设置用户提供的配置文件路径,使用之前需要创建此文件,默认为当前工作目录下的config.json文件。这个参数与 --auth和--images 的作用相同,分解成两个参数可以更好地区分认证信息与镜像仓库同步规则。建议使用 --auth 和 --images。 --images 设置用户提供的镜像同步规则文件所在路径,使用之前需要创建此文件,默认为当前工作目录下的images.json文件。 --auth 设置用户提供的认证文件所在路径,使用之前需要创建此认证文件,默认为当前工作目录下的auth.json文件。 --log 打印出来的log文件路径,默认打印到标准错误输出,如果将日志打印到文件将不会有命令行输出,此时需要通过cat对应的日志文件查看。 --namespace 设置默认的目标namespace,当配置文件内一条images规则的目标仓库为空,并且默认registry也不为空时有效,可以通过环境变量DEFAULT_NAMESPACE设置,同时传入命令行参数会优先使用命令行参数值。 --proc 并发数,进行镜像同步的并发goroutine数量,默认为5。不建议修改该参数。 --retries 失败同步任务的重试次数,默认为2,重试会在所有任务都被执行一遍之后开始,并且也会重新尝试对应次数生成失败任务的生成。一些偶尔出现的网络错误比如io timeout、TLS handshake timeout,都可以通过设置重试次数来减少失败的任务数量。 --registry 设置默认的目标registry,当配置文件内一条images规则的目标仓库为空,并且默认namespace也不为空时有效,可以通过环境变量DEFAULT_REGISTRY设置,同时传入命令行参数会优先使用命令行参数值。 迁移命令执行后,可登录目标镜像仓库,查看已迁移的镜像。
-
操作步骤 从源仓库下载镜像。 使用docker pull命令下载镜像。 示例:docker pull nginx:latest 使用docker images命令查看是否下载成功。 # docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEnginx latest 22f2bf2e2b4f 5 hours ago 22.8MB 将步骤1中下载的镜像上传到SWR。 登录到目标端容器所在虚拟机,并登录SWR。详细步骤请参考客户端上传镜像。 给镜像打标签。 docker tag [镜像名称:版本名称] [镜像仓库地址]/[组织名称]/[镜像名称:版本名称] 示例: docker tag nginx:v1 swr.cn-east-3.myhuaweicloud.com/cloud-develop/nginx:v1 上传镜像至目标镜像仓库。 docker push [镜像仓库地址]/[组织名称]/[镜像名称:版本名称] 示例: docker push swr.cn-east-3.myhuaweicloud.com/cloud-develop/nginx:v1 终端显示如下信息,表明上传镜像成功。 The push refers to repository [swr.cn-east-3.myhuaweicloud.com/cloud-develop/nginx:v1]fbce26647e70: Pushed fb04ab8effa8: Pushed 8f736d52032f: Pushed 009f1d338b57: Pushed 678bbd796838: Pushed d1279c519351: Pushed f68ef921efae: Pushed v1: digest: sha256:0cdfc7910db531bfa7726de4c19ec556bc9190aad9bd3de93787e8bce3385f8d size: 1780 返回 容器镜像服务 控制台,在“我的镜像”页面,执行刷新操作后可查看到对应的镜像信息。