在很多场景下,您需要用到私有镜像仓库中的镜像进行应用的部署,本文介绍如何使用阿里云镜像仓库服务创建一个私有的镜像仓库,并且创建一个使用该私有镜像仓库的应用。
创建私有镜像库
如果您是首次使用阿里云容器镜像服务,会弹出提示需要您设置Registry登录密码,请单击前往开通 ,并根据界面提示,设置Registry登录密码。
登录容器镜像服务控制台。
在顶部菜单栏,选择所需地域。
在左侧导航栏,选择实例列表。
在实例列表页面单击个人版实例。
-
在个人实例管理页面选择。
-
在镜像仓库页面左上角选择创建镜像仓库。
-
在仓库信息配置向导中设置命名空间、仓库名称、摘要和仓库类型,本例选择私有镜像仓库类型。然后单击下一步。
-
在代码源配置向导中,将代码源设为本地仓库,然后单击创建镜像仓库。
说明在镜像仓库列表下,单击目标镜像仓库的名称。在基本信息页面的操作指南页签,可以查看如何使用该私有镜像仓库。
-
执行以下命令,登录镜像仓库。
说明-
如果您使用的是阿里云账号,阿里云账号就是您的镜像仓库登录名。
-
如果您使用的是RAM用户,去掉RAM用户账号.onaliyun.com后的名称就是您的镜像仓库登录名。例如,如果您的RAM用户为123@1880770869021234.onaliyun.com,则您的镜像仓库登录名为123@1880770869021234。
sudo docker login --username=<镜像仓库登录名> registry.cn-<个人版实例所在的地域>.aliyuncs.com返回结果中输入登录密码,然后显示
login succeeded,表示登录成功。 -
-
执行以下命令,查看镜像ID。
docker images -
执行以下命令,设置镜像标签。
sudo docker tag <镜像ID> registry.cn-hangzhou.aliyuncs.com/<命名空间名称>/<镜像仓库名称>:[镜像版本号] -
执行以下命令,推送镜像至镜像仓库。
sudo docker push registry.cn-hangzhou.aliyuncs.com/<命名空间名称>/<镜像仓库名称>:[镜像版本号]预期输出:
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在镜像仓库详情页,单击左侧导航栏中的镜像版本,您可以看到镜像已成功上传,并可查看镜像的版本信息。
创建私有镜像仓库登录密钥类型的密钥
如果拉取私有镜像的话,您需要使用私有镜像仓库登录密钥类型的密钥进行拉取。
-
登录容器服务管理控制台。
-
在控制台左侧导航栏,单击集群。
-
在集群列表页面,单击目标集群名称或者目标集群右侧操作列下的详情。
-
在集群管理页左侧导航栏,选择。
-
在保密字典页面右上角,单击创建。
-
在创建页面配置参数,然后单击确定。
参数
描述
名称
保密字典名称。
类型
保密字典类型:
-
Opaque:一般密钥类型。输入键、值。值必须使用Base64编码。
-
私有镜像仓库登录密钥:存放拉取私有仓库镜像所需的认证信息。输入镜像仓库地址、用户名和密码。
说明用户名和密码为阿里云账号全名和开通服务时所设定的密码。您可以在访问凭证页面修改密码。
-
TLS证书:TLS是一种用来对身份进行验证的机制。
-
Cert:填写TLS证书信息。
-
Key:填写TLS的私钥信息。
-
默认返回保密字典页面,您可以在列表中看到新建的密钥。
-
您也可以通过命令行创建私有镜像仓库登录密钥类型的密钥,请参见获取集群KubeConfig并通过kubectl工具连接集群。
通过私有镜像仓库创建应用
-
登录容器服务管理控制台。
-
在控制台左侧导航栏,单击集群。
-
在集群列表页面,单击目标集群名称或者目标集群右侧操作列下的详情。
-
在集群管理页左侧导航栏,选择。
-
在无状态页面右上角,单击使用YAML创建资源。
说明您也可以通过单击使用镜像创建来创建应用。请参见使用镜像密钥创建应用。
-
将示例模板设置为自定义,并将以下YAML内容复制到模板中。
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/命名空间名称/tomcat-private:latest ports: - containerPort: 8080 imagePullSecrets: - name: regsecret -
单击创建。
返回无状态应用列表,查看使用私有镜像仓库创建的应用。
更多内容请参见Kubernetes官方文档使用私有仓库。