一般情况下,我们项目构建的镜像统一会推送至私有仓库,那么这里大家可以参考阿里云的私有仓库搭建教程。那么我们可以通过以下步骤拉取:
$ sudo docker login --username=[用户名] registry.cn-qingdao.aliyuncs.com
用于登录的用户名为阿里云账号全名,密码为开通服务时设置的密码。
您可以在产品控制台首页修改登录密码。
1.2. 从Registry中拉取镜像
$ sudo docker pull registry.cn-qingdao.aliyuncs.com/xxxx/test:[镜像版本号]
1.3. 将镜像推送到Registry
$ sudo docker login --username=xxx registry.cn-qingdao.aliyuncs.com $ sudo docker tag [ImageId] registry.cn-qingdao.aliyuncs.com/niechen/test:[镜像版本号] $ sudo docker push registry.cn-qingdao.aliyuncs.com/niechen/test:[镜像版本号]
请根据实际镜像信息替换示例中的[ImageId]和[镜像版本号]参数。
kubectl create secret docker-registry registry-secret --docker-server=registry.cn-shenzhen.aliyuncs.com --docker-username=user-test --docker-password=xxxxxx --docker-email=xxx@xxx.com -n default --docker-server: 仓库地址 --docker-username: 仓库登陆账号 --docker-password: 仓库登陆密码 --docker-email: 邮件地址(选填) -n 命名空间
此时我们运行kubectl describe secret
可以看到详细的secret信息
在对应的rc或者deployment更改如下的配置:
spec: serviceAccountName: test imagePullSecrets: - name: registry-secret containers: - name: test image: registry.cn-shenzhen.aliyuncs.com/xxxx/test:latest
在 spec.imagePullSecrets[0].name
里指定刚才创建的secret