用docker
的都知道镜像加速,经过配置阿里云、腾讯云的镜像源确实能够大幅提高docker pull
的效果,但对于某些不经常使用或新版的镜像却收效甚微。git
好比最近想要部署私有ExceptionLess服务,它的dockerfile使用了mcr.microsoft.com/dotnet/core/sdk:2.2.401
和mcr.microsoft.com/dotnet/core/aspnet:2.2
,这两个镜像拉取很是慢,只能使用手动tag
的方式来解决。docker
若是你有一台国外的VPS,那很简单;只需执行docker pull
、docker login
、docker tag
、docker push
就OK了。无奈个人VPS到期了,只能另寻它法,google以后从这篇文章找到灵感:使用从新打 tag 的方式,拉取 k8s.gcr.io 的镜像。bash
使用第三方的CI、CD服务push
镜像到国内私有仓库中解决docker pull
过慢的问题,本例的CI-CD使用的是travis-ci,因为本身使用了腾讯云的容器服务,所以私有库使用了腾讯云提供的免费镜像仓库。fetch
image
的仓库.travis.yml
脚本文件
个人脚本文件以下ui
language: bash services: - docker sudo: required branches: only: - master script: - docker pull mcr.microsoft.com/dotnet/core/sdk:2.2.401 - docker pull mcr.microsoft.com/dotnet/core/aspnet:2.2 after_success: #登陆registry的用户名是您的腾讯云的帐号ID,密码是您开通镜像仓库服务时设置的密码 - sudo docker login --username=[ID] --password=[密码] ccr.ccs.tencentyun.com - sudo docker tag mcr.microsoft.com/dotnet/core/sdk:2.2.401 ccr.ccs.tencentyun.com/dotnet-core/sdk:2.2.401 - sudo docker tag mcr.microsoft.com/dotnet/core/aspnet:2.2 ccr.ccs.tencentyun.com/dotnet-core/aspnet:2.2 - sudo docker push ccr.ccs.tencentyun.com/dotnet-core/sdk:2.2.401 - sudo docker push ccr.ccs.tencentyun.com/dotnet-core/aspnet:2.2
More Options
→Trigger build
的CUSTOM CONFIG
中粘贴写好的.travis.yml
脚本并点击Trigger custom build
job log
中看到脚本的执行结果