1) Docker 配置

1.1) daemon.json 配置镜像

registry-mirrors 设定镜像,加速 docker pull 官方镜像。以下举例为阿里源。

{
"experimental": true,
"features": { "buildkit": true },
"registry-mirrors": ["https://<your token>.mirror.aliyuncs.com"]
}

1.2) config.json 配置代理

proxies 设定 HTTP, HTTPS 代理,加速如 wget, curl 等 HTTP 请求。

{
"proxies": {
"default": {
"httpProxy": "http://192.168.1.100:7890",
"httpsProxy": "http://192.168.1.100:7890",
"noProxy": "localhost, 127.0.0.0/8, ::1"
}
}
}

如果没有代理服务可用,可参考后文其他加速方式。

2) 其他加速方式

2.1) 包管理工具配置各自镜像

apt pip 等,可以配置其各自的镜像源。常用镜像源,可见:

2.2) 代码仓库镜像到国内平台

git clone 原仓库太慢,可于国内代码托管站点(如 Gitee)上找下镜像或自己导入一份,然后 git clone 镜像仓库地址。

2.3) 预先下载文件并使用

有些文件只好直接下载,但太慢。或者文件太大,每次下载太耗时。可以预先用其他工具或渠道下载好后再使用。

使用方式一: ADD/COPY

Dockerfile ADD/COPY 此文件。但因为 ADD/COPY 会增加增加层级、镜像变大,所以只建议用在不用删除清理的文件。而像安装包等,不建议用此办法。

这时,可以用 Docker 的多阶段构建避免此问题,参见文档 Use multi-stage builds

但,这里建议用方式二: HTTP Server 。

使用方式二: HTTP Server

启用 HTTP 静态文件服务,方法可见这里

这样,仍依照 Dockerfile 最佳实践, RUN 时 wget, curl 下载。只是改下下载地址,也可以把下载地址设成 ARG 参数。

结语

Go coding!

Docker: docker pull, wget, curl, git clone 等如何更快?的更多相关文章

  1. git clone 和 git pull 代码无响应

    记录一下今天 git 拉代码遇到的一些异常情况: 无论是项目目录下 git pull 还是直接 git clone 都不能正常拉代码: 异常情况1 ssh: connect to host gitee ...

  2. git clone 新项目时,报error: RPC failed; curl 18 transfer closed with outstanding read data remaining

    error: RPC failed; curl 18 transfer closed with outstanding read data remaining fatal: The remote en ...

  3. git clone时RPC failed; curl 18 transfer closed with outstanding read data remaining

    git clone时报RPC failed; curl 18 transfer closed with outstanding read data remaining 错误 原因1:缓存区溢出 解决方 ...

  4. git clone,push,pull,fetch命令详解

    源自 Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能. Git有很多优势,其中之一就是远程操作非常简便.本文详细介绍5个Git命令,它们的概念和用法,理解了这些内容,你就会完全掌 ...

  5. git clone、git pull和git fetch的用法及区别

    声明:码字不易,转载请注明出处,欢迎文章下方讨论交流.Git 常用命令速查表 最近在一个学习小组里学习AI的课程,我们所有的学习资料和homework都放在gitlab上.今天一个小队友从gitlab ...

  6. 【Git】git clone与git pull区别

    从字面意思也可以理解,都是往下拉代码,git clone是克隆,git pull 是拉.但是,也有区别: 从远程服务器克隆一个一模一样的版本库到本地,复制的是整个版本库,叫做clone.(clone是 ...

  7. 差异:git clone , git fetch, git pull和git rebase

    随笔 - 96  文章 - 1  评论 - 6   Git Pull据我所知,当你使用git pull时,它将会获取远程服务器(你请求的,无论什么分支)上的代码,并且立即合并到你的本地厂库,Pull是 ...

  8. git clone, push, pull, fetch 的用法

    Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能. Git有很多优势,其中之一就是远程操作非常简便.本文详细介绍5个Git命令,它们的概念和用法,理解了这些内容,你就会完全掌握Gi ...

  9. git pull 、git fetch、 git clone

    git clone 代表从远程克隆过来包括所有的版本信息 git fetch是从远程获取最新的版本 git pull相当于 git fetch 然后再git merge

随机推荐

  1. 题解 洛谷 P6142 【[USACO20FEB]Delegation P】

    和赛道修建类似,先对\(k\)进行二分,将最值问题转化为判定问题. 在判定一个\(k\)是否合法时,贪心去考虑,一个节点下面的若干条链在合并时,一条链肯定和另一条使它合并后恰好满足长度限制的链合并最优 ...

  2. three.js 数学方法之Vector3

    今天郭先生来说一说three.js的Vector3,该类表示的是一个三维向量(3D vector). 一个三维向量表示的是一个有顺序的.三个为一组的数字组合(标记为x.y和z),可被用来表示很多事物, ...

  3. Dart函数

    函数 Dart是一种真正的面向对象的语言,所以即使是函数也是对象,并且有一个类型Function.这意味着函数可以赋值给变量或作为参数传递给其他函数,这是函数式编程的典型特征.同时意味着在Dart语言 ...

  4. ASP.NET WebAPI2复杂请求跨域设置

    ASP.Net Core的跨域设置比较简单  官方都整合了 具体的参见微软官方文档: https://docs.microsoft.com/zh-cn/aspnet/core/security/cor ...

  5. 面试题三十:包含min函数的栈

    定义一个栈的数据结构,请实现一个每次都能找到栈中的最小元素,要求时间复杂度O(1).意思就是说每次进栈出栈后,min函数总能在时间1的前提下找到.方法一:由于每次循序遍历栈的话时间复杂度为n,所以要想 ...

  6. Socket通信,基本方法介绍

    Socket是什么呢? Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口. 在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口 ...

  7. Django学习路4_数据库添加元素,读取及显示到网页上

    在 views 中实现对数据库的添加和读取数据库 添加数据 对象 = models 中创建的类名() 对象.列名 = '字段值' 对象.save() 进行保存 return HttpResponse( ...

  8. PHP array_unique() 函数

    实例 移除数组中重复的值: <?php$a=array("a"=>"red","b"=>"green" ...

  9. PHP jdtogregorian() 函数

    ------------恢复内容开始------------ 实例 把格利高里历法的日期转换为儒略日计数,然后再转换回格利高里历法的日期: <?php$jd=gregoriantojd(6,20 ...

  10. 5.15 省选模拟赛 T1 点分治 FFT

    LINK:5.15 T1 对于60分的暴力 都很水 就不一一赘述了. 由于是询问所有点的这种信息 确实不太会. 想了一下 如果只是询问子树内的话 dsu on tree还是可以做的. 可以自己思考一下 ...