docker 上传华为镜像仓库

一.上传镜像

由于docker hub在国外,上传下载速度慢,并且免费的私有镜像仓库只能创建一个,所以尝试选择华为镜像仓库试试。华为镜像仓库介绍地址:欢迎使用容器镜像服务_容器镜像服务 SWR_用户指南_华为云

步骤:

    1. 打开上面链接地址,通过控制台进入,创建组织名称(hushaoren)

    2. 在控制台左边菜单点击镜像资源,点击客户端上传,如下图所示:

   

  3.上传介绍说明地址: 客户端上传镜像(推荐)_容器镜像服务 SWR_用户指南_镜像管理_华为云

  主要是:生成的临时docker login指令有效期为24小时,如下图所示:

    

   上传后,再到控制台查看,如下所示:

 二.创建长期登录

  资料说明:成长地图_容器镜像服务 SWR_华为云

  包含AK和SK,我的如下所示:

  User Name-----hw59714420

  Access Key Id------RBKW3WNYYOLPIS5WFG1X

  Secret Access Key ----jLMzNH6bMvegyF956WSntfUipL7o8XxgHwBKXK7Z

    在k8s服务器linux系统,执行如下命令获取登录密钥

 格式如下:

        printf "$AK" | openssl dgst -binary -sha256 -hmac "$SK" | od -An -vtx1 | sed 's/[ \n]//g' | sed 'N;s/\n//'

   执行下面命令,获取登录密钥:

     printf "RBKW3WNYYOLPIS5WFG1X" | openssl dgst -binary -sha256 -hmac "jLMzNH6bMvegyF956WSntfUipL7o8XxgHwBKXK7Z" | od -An -vtx1 | sed 's/[ \n]//g' | sed 'N;s/\n//'

   密钥如下:

      c2c8d9571e428ae10b95ee842a7aee688ac5f30606b0f99f4a941cf9817f0190

   最后登录 

    docker login -u  cn-east-3@RBKW3WNYYOLPIS5WFG1X -p c2c8d9571e428ae10b95ee842a7aee688ac5f30606b0f99f4a941cf9817f0190 swr.cn-east-3.myhuaweicloud.com

三.k8s服务拉取

  1.使用docker pull先拉取安装

    docker pull swr.cn-east-3.myhuaweicloud.com/hushaoren/userpermissionapi:v1

  2.配置ymal文件

    与以前docker hub有一点不同的是 imagePullPolicy: IfNotPresent, 如果本地有就不下拉。

四.版本迭代更新

  1.在测试服务器上,生成userpermissionapi:v2镜像

   程序将修改后,重新发布文件,覆盖测试服务器opt下的PermissionApi文件夹。生成userpermissionapi:v2镜像

    [root@k8s-host PermissionApi]#  docker build -t userpermissionapi:v2 .

  2.打上tag标签

    [root@k8s-host PermissionApi]# docker tag userpermissionapi:v2 swr.cn-east-3.myhuaweicloud.com/hushaoren/userpermissionapi:v2

  3.pull到华为镜像云swr服务器

    docker push  swr.cn-east-3.myhuaweicloud.com/hushaoren/userpermissionapi:v2

   推送成功后,如下所示:

   4. 修改ymal文件

    修改userpermissionservice-rc.ymal文件,重新覆盖k8s服务器opt目录上的,主要修改如下:

      image: swr.cn-east-3.myhuaweicloud.com/hushaoren/userpermissionapi:v2

  5. 更新Pod

           #替换关联的yaml文件

   [root@k8s-host opt]# kubectl replace -f userpermissionservice-rc.ymal

          [root@k8s-host opt]# kubectl get pod

          #删除该pod,通过yaml文件重新生成新的pod

   [root@k8s-host opt]# kubectl delete pod userpermissionapi-ggtv6

     pod "userpermissionapi-ggtv6" deleted

   删除后会,k8s会去重新拉取 userpermission-svc.ymal文件生成新的pod,此时更为了v2, 这一切都是自动的。检验如下所示 kubectl describe pod xxx:

   pod更新后,之前关联的镜像容器会自动停掉,通过docker ps 来查看。   旧的镜像文件,通过docker images 来查看。 可以删除一些无用的镜像或容器。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值