• 由于 docker/k8s 访问国外镜像存在问题,可使用阿里云容器镜像服务代理国外镜像,以实现访问国外镜像目的。
  • 实现原理为配置一个只有 FROM 的 Dockerfile,利用阿里云可以访问国外镜像的优势构建成新镜像,无法访问国外镜像的服务器使用容器镜像服务构建生成的镜像。
  • 以 nginx-ingress 所需要的 k8s.gcr.io/ingress-nginx/controller:v1.1.1 k8s.gcr.io/ingress-nginx/kube-webhook-certgen:v1.1.1 为例

配置容器镜像服务

  • 开通个人容器镜像服务
  • 创建命名空间

绑定代码源

  • 代码源支持多种代码源:阿里云Code、github、Bitbucket、私有GitLab
  • 以 云Code 为例

创建项目并添加 Dockerfile

  • 新建项目
  • 添加 dockerfile 文件

创建镜像仓库

  • 创建镜像仓库

    • 创建时注意勾选海外机器构建
    • ingress-nginx/controller
    • k8s.gcr.io/ingress-nginx/kube-webhook-certgen
  • 配置构建规则,构建镜像

    • ingress-nginx/controller
    • ingress-nginx/kube-webhook-certgen

使用镜像

  • 拉取镜像
1
2
$ docker pull registry.cn-beijing.aliyuncs.com/images_buffer/ingress-nginx-kube-webhook-certgen:v1.1.1
$ docker pull registry.cn-beijing.aliyuncs.com/images_buffer/ingress-nginx-controller:v1.1.1