在很多场景下,用户需要用到私有镜像仓库中的镜像进行应用的部署,在这篇文档中我们使用阿里云镜像仓库服务创建一个私有的镜像仓库,并且创建一个使用该私有镜像仓库的应用。

创建私有镜像库

如果您是首次使用阿里云容器镜像服务,会弹出提示需要您设置Registry登录密码,请单击前往开通,并根据界面提示,设置Registry登录密码。

  1. 登录容器服务管理控制台
  2. 在控制台左侧导航栏,选择市场 > 镜像,然后在页面右上角单击容器镜像服务控制台
  3. 在容器镜像服务控制台左侧导航栏中单击镜像仓库,选择所需的地域,然后单击创建镜像仓库
    创建镜像仓库
  4. 在弹出的对话框中配置镜像仓库,设置命名空间、仓库名称、摘要和仓库类型,本例选择私有镜像仓库类型。然后单击下一步
    创建镜像仓库
  5. 在设置代码源对话框中,将代码源设为本地仓库。
    创建本地仓库
  6. 在镜像仓库列表下,选择所需的地域和命名空间,单击目标镜像仓库右侧的管理
  7. 进入仓库管理界面,单击基本信息,您可以查看如何使用该私有镜像仓库。
    镜像仓库基本信息
  8. 在Linux环境登录镜像仓库,执行如下命令,将本地的镜像上传到私有镜像仓库中。
    $ sudo docker login --username=abc@aliyun.com registry.cn-hangzhou.aliyuncs.com
     Password                                                                                 ## 镜像仓库独立登录密码:
     Login Succeed
    
    $ docker images                                                                             #以tomcat为例REPOSITORY                                                                 TAG                 IMAGE ID            CREATED             SIZE
    tomcat                                                                     latest              2d43521f2b1a        6 days ago          463MB
    
    $ sudo docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/XXX/tomcat-private:[镜像版本号]           
    $ sudo docker push registry.cn-hangzhou.aliyuncs.com/XXX/tomcat-private:[镜像版本号]

    结果如下:

    The push refers to a repository [registry.cn-hangzhou.aliyuncs.com/XXX/tomcat-private]
    9072c7b03a1b: Pushed
    f9701cf47c58: Pushed
    365c8156ff79: Pushed
    2de08d97c2ed: Pushed
    6b09c39b2b33: Pushed
    4172ffa172a6: Pushed
    1dccf0da88f3: Pushed
    d2070b14033b: Pushed
    63dcf81c7ca7: Pushed
    ce6466f43b11: Pushed
    719d45669b35: Pushed
    3b10514a95be: Pushed
    V1: digest: sha256:cded14cf64697961078aedfdf870e704a52270188c8194b6f70c778a8289**** size: 2836
  9. 返回该镜像仓库详情页,单击左侧导航栏中的镜像版本,您可以看到镜像已成功上传,并可查看镜像的版本信息。
    镜像版本

创建私有镜像仓库登录密钥类型的密钥

  1. 登录容器服务管理控制台
  2. 在控制台左侧导航栏中,单击集群
  3. 集群列表页面中,单击页面右上角的创建Kubernetes集群
    console
  4. 集群列表页面中,单击目标集群名称或者目标集群右侧操作列下的管理
  5. 在集群管理页左侧导航栏中,单击配置管理
  6. 保密字典页签右上角,单击创建
  7. 配置新的保密字典。
    配置保密字典
    说明 在这里不能用容器服务控制台上的保密字典进行secret的创建。
    默认返回保密字典页面,您可看到新建的密钥出现在列表中。保密字典清单
说明

您也可以通过kubectl连接Kubernetes集群创建私有镜像仓库登录密钥类型的密钥。

通过私有镜像仓库创建应用

  1. 登录容器服务管理控制台
  2. 在控制台左侧导航栏中,单击集群
  3. 集群列表页面中,单击页面右上角的创建Kubernetes集群
    console
  4. 集群列表页面中,单击目标集群名称或者目标集群右侧操作列下的管理
  5. 在集群管理页左侧导航栏中,单击工作负载
  6. 无状态页签右上角,单击使用模板创建
    说明 您也可以通过单击使用镜像创建来创建应用。请参见使用镜像密钥
  7. 示例模板选择为自定义,并将以下内容复制到模板中。
    apiVersion: apps/v1 
    kind: Deployment 
    metadata: 
      name: private-image
      nameSpace: default  
      labels:  
        app: private-image  
    spec:   
      replicas: 1
      selector:
        matchLabels:
          app: private-image
      template:
        metadata:
          labels:
            app: private-image
        spec:
          containers:
          - name: private-image
            image: registry.cn-hangzhou.aliyuncs.com/xxx/tomcat-private:latest
            ports:
            - containerPort: 8080
          imagePullSecrets:
          - name: regsecret
  8. 单击创建

更多内容请参见kubernetes官方文档使用私有仓库