操作需知
- 当前,用户本地的镜像需要上传到阿里云的 Docker registry,并且设置镜像类型为 [backcolor=transparent]公开,Kubernetes 应用才有读权限,能拉取到并使用。
- 另外需要准备一台带有 弹性公网 IP 的 ECS 实例(或者该实例做过 NAT),才能把本地构建好的镜像上传到阿里云镜像仓库。
举例,用户本地的 Nginx 镜像需要提供给 Kubernetes 应用使用。
操作步骤
登录 容器镜像服务控制台。
(可选)设置阿里云 Docker registry 登录密码。
如果您是第一次访问,系统会提示您进行初始化设置。设置您的登录密码,并单击 [backcolor=transparent]确定。
镜像仓库参数说明:
- 地域:选择镜像仓库的区域,如华北2。
- 命令空间:从下拉列表中选择已有的命名空间,如mw。
- 仓库名称:输入用户新建的仓库名,如nginx。
- 摘要:输入镜像仓库相关的信息。
- 仓库类型:选择 [backcolor=transparent]公开。Kubernetes 应用一期不支持私有镜像的拉取。
- 设置代码源:当前版本只支持通过命令行推送镜像到镜像仓库,请选择 [backcolor=transparent]本地仓库。
登录到带有弹性公网 IP 的 ECS,然后执行 Docker 登录命令,并输入密码。
[backcolor=transparent]注意:阿里云不同的可用区对应不同的 registry,以北京为例,登录时必须指明 registry 域名为
cn-beijing。其它可用区详见
地域和可用区信息。并输入您的用户名和登录密码。
$ sudo docker login --username=edas_test1@aliyun-test.com registry.cn-beijing.aliyuncs.com
登录成功之后会显示 [backcolor=transparent]Login Succeeded。
重命名镜像。
如果用户本地的镜像是通过构建生成的,构建过程中需要指定 tag 信息。
$ sudo docker tag [ImageId] registry.cn-beijing.aliyuncs.com/mw/nginx:[镜像版本号]
如果用户本地的镜像是从其它仓库下载的,已有了 registry 名、命令空间、仓库名和 tag 名称,上传到阿里云 registry 之前需要执行 Docker tag 命令进行修改。
$ sudo docker tag docker.io/nginx:1.13.5 registry.cn-beijing.aliyuncs.com/mw/nginx: [镜像版本号]
上传镜像到阿里云 Docker registry。
$ sudo docker push registry.cn-beijing.aliyuncs.com/mw/nginx: [镜像版本号]
如果没有报错信息,用户本地的 Nginx 镜像就成功上传到阿里云 Docker registry 了。
创建 Kubernetes 应用。
本地 Nginx 镜像上传成功之后,可以通过该镜像创建 Kubernetes 应用了。