kubernetes拉取私有仓库image方法
一般公司开发的image一般放在私有仓库,不对外开放。1. 在阿里云创建一个私有镜像库,并构建一个image:registry.cn-shenzhen.aliyuncs.com/koza/test:latest创建阿里云镜像私有仓库和构建image方法参考:https://dev.aliyun.com/2. docker 拉取私有镜像的方法: a. 登陆私有仓库 mac-temp:~ tes
一般公司开发的image一般放在私有仓库,不对外开放。
1. 在阿里云创建一个私有镜像库,并构建一个image:
registry.cn-shenzhen.aliyuncs.com/koza/test:latest
创建阿里云镜像私有仓库和构建image方法参考:https://dev.aliyun.com/
2. docker 拉取私有镜像的方法:
a. 登陆私有仓库
mac-temp:~ test$ docker login https://registry.cn-shenzhen.aliyuncs.com
Username: user-test
Password: xxxxxx
Login Succeeded
b. 拉取镜像:
docker pull registry.cn-shenzhen.aliyuncs.com/koza/test:latest
c. 保存私有仓库的登陆信息文件位置,如果不logout ,下次拉取镜像就不再需要输入账号和密码:
cat ~/.docker/config.json
这种方式,在kubernetes 中使用deployment定义一个pod,是不能下载镜像成功的。
3. 在kubernetes 中拉取私有仓库:
a. 创建保存仓库地址和密码的secret:
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 命名空间
b. 在deployment.yml加入拉取镜像的密钥:
...
spec:
serviceAccountName: test
imagePullSecrets:
- name: registry-secret
containers:
- name: test
image: registry.cn-shenzhen.aliyuncs.com/koza/test:latest
...
imagePullSecrets 定义拉取镜像使用的secret。
参考:https://kubernetes.io/docs/concepts/containers/images/
更多推荐
所有评论(0)