# 阿里云 + github 构建镜像仓库解决 k8s.gcr.io 访问

由于 k8s.gcr.io/ 镜像仓库位于国外,国内使用 kubeadm 构建 docker 集群时无法访问相应的 docker 镜像。

# 1. 登录 Github 创建仓库

1.png

2.png

# 2. 创建 Dockerfile

仓库下面创建一个 Dockerfile,以 ingress-nginx-controller 为例下的 dockerfile 内容如下:

[root@manager ~]# mkdir ingress-nginx-controller
[root@manager ~]# cd ingress-nginx-controller/
[root@manager ingress-nginx-controller]# cat Dockerfile 
FROM registry.k8s.io/ingress-nginx/controller:v1.12.1 

# 3. SSH 免密登录 GitHub

[root@manager ingress-nginx-controller]# ssh-keygen
[root@manager ingress-nginx-controller]# cat ~/.ssh/id_rsa.pub

进入 GitHub 的个人设置,找到【SSH and GPG keys】,然后点击新增 SSH Key,进入如下界面,title 输入你对于当前 SSH key 的备注,下面的 key 就粘贴上一步生成的 id_rsa.pub 内的内容

3.png

5.png

# 4. 推送 Dockerfile 至 Github

[root@manager ingress-nginx-controller]# yum install git -y
[root@manager ingress-nginx-controller]# git --version
[root@manager ingress-nginx-controller]# git config --global user.email "373370405@qq.com"
[root@manager ingress-nginx-controller]# git config --global color.ui true
[root@manager ingress-nginx-controller]# git init
[root@manager ingress-nginx-controller]# git add .
[root@manager ingress-nginx-controller]# git commit -m "first commit"
[root@manager ingress-nginx-controller]# git branch -M main
[root@manager ingress-nginx-controller]# git remote add origin git@github.com:xyapples/ingress-nginx-controller.git   #添加远程仓库
[root@manager ingress-nginx-controller]# git remote -v
[root@manager ingress-nginx-controller]# git push -u origin main
[root@manager ingress-nginx-controller]# git remote remove origin  #移除远程仓库

6.png

# 5. 登录阿里云创建镜像仓库

登录阿里云镜像:https://cr.console.aliyun.com/,创建镜像仓库:

7.png

1.png

2.png

# 6. 构建镜像

3.png

4.png

7.png

7.png

8.png

此文章已被阅读次数:正在加载...更新于

请我喝[茶]~( ̄▽ ̄)~*

Xu Yong 微信支付

微信支付

Xu Yong 支付宝

支付宝