Docker: docker pull, wget, curl, git clone 等如何更快?

1) Docker 配置

1.1) daemon.json 配置镜像

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

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

1.2) config.json 配置代理

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

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

若是没有代理服务可用,可参考后文其余加速方式。json

2) 其余加速方式

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

apt pip 等,能够配置其各自的镜像源。经常使用镜像源,可见:curl

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

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

2.3) 预先下载文件并使用

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

使用方式一: ADD/COPY

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

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

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

使用方式二: HTTP Server

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

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

结语

Go coding!


分享 Coding 中实用的小技巧、小知识!欢迎关注,共同成长!

GoCoding_WeChat.png

相关文章
相关标签/搜索