点击上方“方志朋”,选择“设为星标”

做积极的人,而不是积极废人

前言

国内可访问的镜像仓库

Docker Hub镜像仓库

https://hub.docker.com/

阿里云镜像仓库:

https://cr.console.aliyun.com

RedHat镜像仓库:

https://access.redhat.com/containers

国内无法访问的镜像仓库

google镜像仓库:

https://console.cloud.google.com/gcr/images/google-containers/GLOBAL

coreos镜像仓库:

https://quay.io/repository/

临时解决方法:

  • 在部署kubernetes集群时,需要从google镜像仓库获取kubernetes组件相关镜像,以及从coreos仓库获取flannel网络插件等镜像,但dockerhub或阿里云仓库基本能够搜索到他人上传的包含这2个仓库中的镜像,我们只需要拉取到本地以后改回默认的镜像tag即可。

  • 另外dockerhub对google仓库做了镜像mirror,因此可以在google镜像名称前加mirrorgooglecontainers,即可直接在dockerhub拉取google镜像,拉取到本地后同样改回google仓库默认tag即可。

例如拉取kube-apiserver-amd64:v1.13.2镜像使用如下格式即可:

# google镜像默认格式
k8s.gcr.io/kube-apiserver:v1.13.2
# dockerhub拉取镜像
$ docker pull mirrorgooglecontainers/kube-apiserver-amd64:v1.13.2
# 修改tag
$ docker tag mirrorgooglecontainers/kube-apiserver-amd64:v1.13.2 k8s.gcr.io/kube-apiserver-amd64:v1.13.2
# 成功拉取的镜像
$ docker images | grep kube-apiserver
mirrorgooglecontainers/kube-apiserver-amd64   v1.13.2             177db4b8e93a        2 months ago        181MB
k8s.gcr.io/kube-apiserver-amd64               v1.13.2             177db4b8e93a        2 months ago        181MB

从阿里云镜像仓库搜索并拉取

# 从阿里云镜像仓库拉取镜像
$ docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver-amd64:v1.13.0
# 修改镜像tag
$ docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver-amd64:v1.13.0 k8s.gcr.io/kube-apiserver:v1.13.0

创建个人仓库

我们也可以在dockerhub或阿里云创建个人仓库,把需要的最新版本镜像从google仓库push到个人仓库,一般有几下几种方法:

1.购买云服务器

最简单的方法就是,购买1台能同时访问国外和国内网络的云服务器,使用docker login登录dockerhub或阿里云仓库,docker push命令推送上去然后再拉取到本地即可。

如果不想购买服务器又能够访问国外网络,建议使用google提供的cloud shell:

https://console.cloud.google.com/cloudshell

它类似一个永久免费的拥有5G存储空间的linux服务器,能够执行所有docker命令和bash命令,能够访问全球网络。

2.Travis CI推送镜像

使用travis CI+GitHub将镜像docker push到国内镜像仓库。

3.Github镜像构建

使用github的dockerfile构建功能,将镜像构建到国内仓库。

参考:https://blog.csdn.net/networken/article/details/85215714

Travis CI推送dokcer镜像

下面介绍第2种方法,使用travis CI+GitHub的方法将镜像拉取到阿里云或者dockehub。

创建github仓库

首先登录github创建一个仓库,名称自定义,仓库包含如下3个文件:

  • push-images.sh 脚本文件

  • imagepath.txt 镜像列表文件

  • .travis.yaml 自动构建文件

示例仓库:https://github.com/willzhang/DockerImages

push-images.sh脚本内容如下,主要从国外镜像仓库pull镜像,打tag,并push到阿里云或dockerhub.

#!/bin/bashfor imagepath in $(cat ./imagepath.txt)
do
imagename=$(echo $imagepath | awk -F '/' '{print $NF}')
docker pull $imagepath# push到阿里云仓库
docker tag $imagepath registry.cn-hangzhou.aliyuncs.com/aliwill/$imagename
docker push registry.cn-hangzhou.aliyuncs.com/aliwill/$imagename# push到dockerhub
docker tag $imagepath willdockerhub/$imagename
docker push willdockerhub/$imagename
done

imagepath.txt主要包含国内无法拉取的镜像列表,注意必须为完整镜像路径和名称,示例如下:

gcr.io/google-containers/kube-apiserver-amd64:v1.12.0
quay.io/external_storage/nfs-client-provisioner:latest

.travis.yaml文件主要监控github仓库的代码变动,当有代码变动时比如imagepath.txt写入新的镜像列表时将触发tarvis的自动构建,.travis.yaml文件内容如下:

language: bashservices:
- dockerscript:
- docker login -u $ALI_USERNAME registry.cn-hangzhou.aliyuncs.com -p $ALI_PASSWORD
- docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD
- bash push-images.sh

这里需要登录阿里云或dockerhub才能执行docker push操作,其中$ALI_USERNAME这类变量在TravisCI管理界面定义好即可。

TravisCI配置

访问travis官网:https://www.travis-ci.org/, 使用github账号登录。

开启需要进行自动化构建的仓库即可:

另外需要点击右上角的more options —》settings选项,定义写在.travis.yaml中的账号密码等敏感参数。

当对github仓库执行git commit、git push操作时将自动触发构建,执行仓库中的脚本,这里的构建结果如下:

登录阿里云或dockerhub查看,imagepath.txt 列表中的镜像已经成功被push上来:

注意:push到阿里云的镜像默认为私有的,可以手动改为公开的。

日常拉取镜像方法:

修改imagepath.txt,写入需要拉取的镜像完整路径,保存后travis-CI监测到仓库代码变动,自动触发构建,几分钟后镜像就会被自动拉取到个人仓库。

参考:

https://blog.csdn.net/nklinsirui/article/details/80581286

作者:willblog

原文:https://blog.csdn.net/networken/article/details/84571373

热门内容:

  • 彻底透析SpringBoot jar可执行原理

  • Apache架构师的30条设计原则!

  • 盘点阿里巴巴 15 款开发者工具

  • 详细介绍!Linux 上几种常用的文件传输方式

  • 看我如何作死 | 将CPU、IO打爆

  • 面试时写不出排序算法?看这篇就够了

  • 网易云音乐的消息队列改造之路

  • Elasticsearch性能优化实战指南

  • 几种常用 JSON 库性能比较

喜欢就点个"在看"呗^_^

国内拉取google Kubernetes镜像相关推荐

  1. docker国内拉取国外docker镜像加速服务

    由于国内直接拉取dockerhub的镜像速度比较慢,有以下一种加速方法 daocloud镜像市场:https://hub.daocloud.io/ 先到以上网址注册并登陆, 点击镜像加速图标, 复制命 ...

  2. 国内拉取 gcr.io 镜像(Google Kubernetes 镜像)

    常用镜像仓库 DockerHub镜像仓库 Google 镜像仓库   https://gcr.io/google-containers/   https://gcr.io/kubernetes-hel ...

  3. 通过阿里云拉取Google云上的镜像

    在创建kubernetes集群时需要一些Google云上的镜像 国内拉取不了Google 云上的镜像,所以我们想到了阿里云,因为阿里云服务器在美国,所以我们去阿里云上的构建镜像的功能拉取国外的镜像,然 ...

  4. Google Kubernetes Engine(GKE) 使用初探

    Google Kubernetes Engine(GKE) 使用初探 概述 Google 的 k8s 在 2017 年已经从容器编排领域的竞争中取得主导地位,从 Docker 之前的一度排挤到最终完全 ...

  5. 微服务架构工作笔记003---了解认识google Kubernetes 容器管理

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 下面这个是官网: https://kubernetes.io/zh/docs/concepts/o ...

  6. GitHub、Google等镜像加速地址

    GitHub.Google等镜像/加速地址 GitHub加速地址一览 fastgit https://hub.fastgit.xyz/ (推荐) https://hub.nuaa.cf/ 站源 地址 ...

  7. Google | Google Kubernetes Engine 集群实战

    theme: orange 携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第6天,点击查看活动详情 GKE 集群介绍 Google Kubernetes Engine (GKE) ...

  8. centos7 下google Kubernetes(k8s)集群安装部署

    centos7 下google Kubernetes(k8s)集群安装部署 简介 安装环境 安装前准备 ECTD集群配置 命令含义: master节点配置 1.安装kubernetes和etcd 2. ...

  9. 谷歌发布Google Kubernetes Engine On-Prem

    Google Cloud正在构建自己的Kubernetes Engine(简称GKE)服务版本,以供用户在自有数据中心内运行.GKE On-Prem,旨在为企业客户提供一种立足内部与公有云端的应用程序 ...

最新文章

  1. python错误-第16天:Python 错误和异常
  2. 正则表达式——常用元字符
  3. 连接MongoDB 3.x 报 Authorization failed 解决办法(创建账号的部分亲测)
  4. 肝!Python 网络编程
  5. MySQL Administrator
  6. 和硕裁员4.5万真相调查:工人入不敷出无奈走人
  7. 【渝粤教育】电大中专新媒体营销实务 (13)作业 题库
  8. sklearn学习总结
  9. Python爬虫:搜狗(微信,知乎)公众号内容
  10. eclipse中如何把中文变成英文?
  11. vue实现页面点击页面滚动-禁止鼠标滑轮滚动页面
  12. linux利用vsftpd 搭建FTP服务器
  13. chrome谷歌小恐龙作弊代码【无敌,快跑,高跳,一键满分】有需要的小伙伴快快看过来!
  14. 转发(Forward)和重定向(Redirect)的区别
  15. 博客系统项目:设计篇
  16. 全球报告表明,中文是现如今增速最快的语言学习赛道,全球有超过600万人在学中文 | 美通社头条...
  17. vue echarts 实现地图大气泡图
  18. Python循环语句(while循环、for循环)
  19. 备份linux网卡驱动,瑞昱网卡驱动
  20. 【原创】拼多多事件对我们业务测试的启发

热门文章

  1. ARM 环境下使用azure powershell 从远程blob中拉去vhd 并创建虚拟机
  2. python自动华 (十四)
  3. 转】windows下使用批处理脚本实现多个版本的JDK切换
  4. SD卡的控制方法(指令集和控制时序)
  5. PHP:isset()-检测变量是否被设置
  6. extjs grid renderer用法
  7. 表情的机器自动识别(有图有真相)
  8. 展望2009,回眸2008
  9. 效果很好的asp.net的数据库访问模型(优化,封装一体化)
  10. tensorflow 2