Docker: docker pull, wget, curl, git clone 等如何更快?
1) Docker 配置
1.1) daemon.json 配置镜像
- 路径: /etc/docker/daemon.json
- 文档: Config Daemon
registry-mirrors 设定镜像,加速 docker pull 官方镜像。以下举例为阿里源。
{
"experimental": true,
"features": { "buildkit": true },
"registry-mirrors": ["https://<your token>.mirror.aliyuncs.com"]
}
1.2) config.json 配置代理
- 路径: ~/.docker/config.json
- 文档: Network Proxy
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 等,可以配置其各自的镜像源。常用镜像源,可见:
- 清华源: https://mirrors.tuna.tsinghua.edu.cn/
- 中科大: http://mirrors.ustc.edu.cn/
- 阿里源: https://developer.aliyun.com/mirror/
- 网易源: http://mirrors.163.com/
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 等如何更快?的更多相关文章
- git clone 和 git pull 代码无响应
记录一下今天 git 拉代码遇到的一些异常情况: 无论是项目目录下 git pull 还是直接 git clone 都不能正常拉代码: 异常情况1 ssh: connect to host gitee ...
- 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 ...
- 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:缓存区溢出 解决方 ...
- git clone,push,pull,fetch命令详解
源自 Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能. Git有很多优势,其中之一就是远程操作非常简便.本文详细介绍5个Git命令,它们的概念和用法,理解了这些内容,你就会完全掌 ...
- git clone、git pull和git fetch的用法及区别
声明:码字不易,转载请注明出处,欢迎文章下方讨论交流.Git 常用命令速查表 最近在一个学习小组里学习AI的课程,我们所有的学习资料和homework都放在gitlab上.今天一个小队友从gitlab ...
- 【Git】git clone与git pull区别
从字面意思也可以理解,都是往下拉代码,git clone是克隆,git pull 是拉.但是,也有区别: 从远程服务器克隆一个一模一样的版本库到本地,复制的是整个版本库,叫做clone.(clone是 ...
- 差异:git clone , git fetch, git pull和git rebase
随笔 - 96 文章 - 1 评论 - 6 Git Pull据我所知,当你使用git pull时,它将会获取远程服务器(你请求的,无论什么分支)上的代码,并且立即合并到你的本地厂库,Pull是 ...
- git clone, push, pull, fetch 的用法
Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能. Git有很多优势,其中之一就是远程操作非常简便.本文详细介绍5个Git命令,它们的概念和用法,理解了这些内容,你就会完全掌握Gi ...
- git pull 、git fetch、 git clone
git clone 代表从远程克隆过来包括所有的版本信息 git fetch是从远程获取最新的版本 git pull相当于 git fetch 然后再git merge
随机推荐
- 题解 洛谷 P3521 【[POI2011]ROT-Tree Rotations】
给定一棵二叉树,叶子节点有权值,可以进行若干次交换一个节点的左右儿子的操作,使前序遍历叶子的逆序对最少. 考虑一个节点下子树逆序对的产生: ① 只在左子树中产生. ② 只在右子树中产生. ③ 在左子树 ...
- Linux上搭建文件浏览的web服务(创建软件仓库)(一)
软件仓库的创建方式有很多,这是一种很简单的创建方式: python -m SimpleHTTPServer 快速搭建一个http服务,提供一个文件浏览的web服务. 使用:Python SimpleH ...
- 最近建了一个.net源码共享群,群共享有大量网友分享的.net(C#)商业源码
.net源码共享群 324087998. 本群创建于2013/6/21: 群里都是.net(C#)程序开发人员,群共享有大量网友分享的.net(C#)商业源码.比如:DTCMS旗舰版,hishop微分 ...
- 面试题二十二:链表中倒数第k个节点
方法一:双指针法定义两个指针A.B,A先走k-1步后再一起走,直到A.next==null注意: 1.链表为空 2.链表长度小于k 3.k<=0 当题目是求链表的中间节点时,可以两个指针从开头开 ...
- mysql中的DDL,DML,DQL,DCL
SQL语言一共分为4大类:数据定义语言DDL,数据操纵语言DML,数据查询语言DQL,数据控制语言DCL 1.数据定义语言DDL(Data Definition Language) 对象: 数据库和表 ...
- zabbix 监控nginx状态
1. 安装nginx,参考其它 [root@iZ2zeapnvuohe8p14289u6Z /]# vim /etc/nginx/nginx.conf # 加上下面 location /nginx_s ...
- 时间序列ARIMA模型
时间序列ARIMA模型 1.数据的平稳性与差分法 让均值和方差不发生明显的变化(让数据变平稳),用差分法 2.ARIMA模型-----差分自回归平均移动模型 求解回归的经典算法:最大似然估计.最小二乘 ...
- Python os.remove() 方法
概述 os.remove() 方法用于删除指定路径的文件.如果指定的路径是一个目录,将抛出OSError.高佣联盟 www.cgewang.com 在Unix, Windows中有效 语法 remov ...
- 2020牛客暑期多校训练营 第二场 J Just Shuffle 置换 群论
LINK:Just Shuffle 比较怂群论 因为没怎么学过 置换也是刚理解. 这道题是 已知一个置换\(A\)求一个置换P 两个置换的关键为\(P^k=A\) 且k是一个大质数. 做法是李指导教我 ...
- LeetCode 87,远看是字符串其实是搜索,你能做出来吗?
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是LeetCode专题第54篇文章,我们一起来看LeetCode 87题,Scramble String(爬行字符串). 这题的官方难度 ...