• Docker 本地镜像推送到阿里云(五)


      最近在学习Docker,从安装Docker开始,到自定义制作镜像mycentos,但是怎么把它推送到阿里云,一直是困扰我的问题。后面有时间了解了一下,根据本地镜像推动到阿里云其实并没有我们想象中那么难。

    前提条件:

      已经生成一个镜像,镜像生成的方法,可以参考另外一篇博文:https://www.cnblogs.com/wendyw/p/9728381.html

       已经生产一个镜像后,现在要做的事就是把本地镜像推送到阿里云上(目前我使用的是阿里云的仓库)

     1、从本地镜像推送到阿里云上,需要知道几个网址

      A 阿里云开发者平台:https://dev.aliyun.com/search.html

      B 阿里云官网:https://www.aliyun.com/

     2、为什么要知道这2个网址:

      A 阿里云开发者平台:找到对应的”命名空间/镜像名称”,就是push到阿里云上的镜像。当然,也可以去搜索其他你所需要的镜像。

      B 阿里云官网:找到容器镜像服务,步骤:阿里云->控制台-> 产品与服务->弹性计算->容器镜像服务,可以创建镜像仓库、命名空间等。

     3、实战-本地镜像推送阿里云

    3.1 打开虚拟机centos7终端,执行docker images出现错误:【Failed to restart dock.service: Unit not found.】,执行如下代码:

    systemctl unmask docker.service
    systemctl unmask docker.socket
    systemctl start docker.service

     3.2 镜像的生成方法

      如何生成镜像,请看这一篇博文:https://www.cnblogs.com/wendyw/p/9728381.html

    a 打开终端,输入命令 docker image 查看mycentos:1.3的容器ID

    docker images
    docker run -it 镜像id //找到mycentos:1.3的镜像id,此时已经开启一个容器
    //只要容器不退出,另外再打开一个终端,把mycentos:1.3复制一份生成mycentos:1.4上传到阿里云
    输入如下命令:
    docker ps  //查看运行中的容器
    docker commit -a 命名空间 -m “注释内容” 容器id(container id) 镜像名称(image id):TAG
    //镜像名称(image id):TAG是最新提交的TAG和镜像名称 ,比如mycentos:1.4
    //容器id是根据docker ps查看,找到对应的容器id

     3.3 将本地镜像登录到阿里云

    在阿里云平台,需要做如下3步:

      a 创建命名空间,比如abc

      b建立仓库名称,比如def

      c 建立的镜像仓库->找到对应的仓库,选择def->点击操作栏管理->基本信息->操作指南,找到第三个步骤,将镜像推送到Registry,把这3条命令在linux终端系统输入,对应的imageid、镜像版本号进行修改,执行命令如下:

    $ sudo docker login --username=xxx registry.cn-hangzhou.aliyuncs.com
    //xxx是阿里云的账户名称
    $ sudo docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/abc/mycentos:[镜像版本号]
    //abc是命名空间,[ImageId]是步骤3.2中的镜像id
    //mycentos:[镜像版本号]是提交到阿里云上的名称和TAG,比如这里是mycentos:1.4.1
    $ sudo docker push registry.cn-hangzhou.aliyuncs.com/abc/mycentos:[镜像版本号]
    //abc是命名空间,mycentos:[镜像版本号]与上一步命令保持一致

    做完这一步,表示已经从成功从本地上传到阿里云了,可以去阿里云开发者平台搜索abc/mycentos:1.4.1,就能找到你上传上去的镜像:

    https://dev.aliyun.com/search.html

    3.4 将阿里云上的镜像下载到本地

      现在想把开发者平台中的镜像,拉取到本地,比如:mycentos:1.4.1

    执行如下命令,就可以把阿里云开发者平台中的镜像拉取到本地:

     docker pull registry.cn-hangzhou.aliyuncs.com/abc/mycentos:1.4.1 //abc是命名空间 

  • 相关阅读:
    抽丝剥茧设计模式- 责任链模式应用场景
    抽丝剥茧设计模式-工厂和抽象工厂模式
    抽丝剥茧设计模式-你真的懂单例模式吗?
    抽丝剥茧设计模式- 啰嗦几句
    生产环境ng配置
    Linux命令
    内容过滤报错
    user 报错
    cxlabel 显示不全的解决方法
    关于SQL事务的一些坑
  • 原文地址:https://www.cnblogs.com/wendyw/p/9734456.html
Copyright © 2020-2023  润新知