背景
安装k8s channle插件的时候,某台机器无法拉取
https://raw.githubusercontent.com/coreos/flannel/master/Docum... 中的镜像
解决办法
自己某个机器可以拉取,拉取之后就放到阿里云的镜像托管上,当然有时间和精力可以自己做个registry。
docker pull docker.io/flannel/flannel:v0.22.1
#拉成功了,在tb机器上操作
tb@tb-laptop:~$ docker images |grep flannel
flannel/flannel
解决步骤
登录阿里云Docker Registry
$ docker login --username=youname@youhost.com registry.cn-hangzhou.aliyuncs.com
用于登录的用户名为阿里云账号全名,密码为开通服务时设置的密码。
从Registry中拉取镜像
$ docker pull registry.cn-hangzhou.aliyuncs.com/yaxiaomu/flannel:[镜像版本号]
将镜像推送到Registry,注意打tag在登陆之后,可以先docker logout之后,在login
$ docker login --username=yaxi**@sina.cn registry.cn-hangzhou.aliyuncs.com
$ docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/yaxiaomu/flannel:[镜像版本号]
$ docker push registry.cn-hangzhou.aliyuncs.com/youname/flannel:[镜像版本号]
请根据实际镜像信息替换示例中的[ImageId]和[镜像版本号]参数。
选择合适的镜像仓库地址
从ECS推送镜像时,可以选择使用镜像仓库内网地址。推送速度将得到提升并且将不会损耗您的公网流量。
如果您使用的机器位于VPC网络,请使用 registry-vpc.cn-hangzhou.aliyuncs.com 作为Registry的域名登录。
- 示例
使用"docker tag"命令重命名镜像,并将它通过专有网络地址推送至Registry。
$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
registry.aliyuncs.com/acs/agent 0.7-dfb6816 37bb9c63c8b2 7 days ago 37.89 MB
$ docker tag 37bb9c63c8b2 registry-vpc.cn-hangzhou.aliyuncs.com/acs/agent:0.7-dfb6816
使用 "docker push" 命令将该镜像推送至远程。
$ docker push registry-vpc.cn-hangzhou.aliyuncs.com/acs/agent:0.7-dfb6816
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。