精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Docker鏡像國內加速的幾種方法

dyquk4xk2p3d ? 來源:東風微鳴技術博客 ? 2023-10-19 10:02 ? 次閱讀

概述

在國內,拉取 Docker 鏡像速度慢/時不時斷線/無賬號導致限流等,比較痛苦. 這里提供加速/優化的幾種方法。

梳理一下,會碰到以下情況:

1.國內下載速度慢/時不時斷線:是因為網絡被限制了。2.沒有公共鏡像庫賬號導致限流:是因為 Docker Hub 等主流鏡像庫,近年來紛紛開始對未登錄的匿名用戶進行限流,限制拉取的速度,以及一定時間內拉取的鏡像數量。

為了解決以上問題,有這么幾種方法:

針對國內下載速度慢/時不時斷線, 可選方法如下:

1.配置國內可用/速度尚可的 Docker Registry Mirrors2.自建 Docker Registry Mirror/Proxy, 并配置為 Mirror3.Docker Daemon 配置proxies

針對沒有公共鏡像庫賬號導致限流, 可選方法如下:

1.注冊各個鏡像庫賬號并docker login登錄

具體方案如下。

具體方案

Notes:

這里以 Docker 舉例說明。Containerd/Podman/cri-o 等請舉一反三。

1.配置國內可用/速度尚可的 Docker Registry Mirrors1.阿里云 Docker 加速:類似xxxxxx.mirror.aliyuncs.com的個人專屬加速地址;

2.DockerProxy 代理加速:dockerproxy.com3.百度云 Mirror:mirror.baidubce.com4....2.自建 Docker Registry Mirror/Proxy, 并配置為 Mirror1.這里使用 Cloudflare Worker -cloudflare-docker-proxy[1]搭建

3.Docker Daemon 配置proxies, 具體包括:http-proxyhttps-proxyno-proxy

4.注冊各個鏡像庫賬號并docker login登錄

方案實施細節

配置國內可用的 Docker Registry Mirrors

隨著時間的推移,國內可用的 Docker Registry Mirrors 會持續發生變化,因此,需要實時根據可用情況調整 Docker Registry Mirrors 配置。

截止 2023/9/5, 可用 Mirrors 列表如下:

1.阿里云 Docker 加速:類似xxxxxx.mirror.aliyuncs.com的個人專屬加速地址;

2.DockerProxy 代理加速:dockerproxy.com

3.百度云 Mirror:mirror.baidubce.com

4.DaoCloud:docker.m.daocloud.io

5.南京大學:docker.nju.edu.cn

6.上海交大:docker.mirrors.sjtug.sjtu.edu.cn

測試國內 Docker Registry 可用性

可以自行測試驗證,手動測試方法是拉取鏡像,這里以測試dockerproxy.com為例:

docker pull dockerproxy.com/library/nginx

在國內拉取成功則證明可用。

也可以直接查看 GitHub 倉庫:docker-practice/docker-registry-cn-mirror-test[2]的 Github Action 執行結果。如最近一次的執行結果為:

15ca64c0-6a69-11ee-939d-92fbcf53809c.png

ocker-registry-cn-mirror-test result

阿里云 Docker 加速服務申請

阿里云加速器(點擊管理控制臺 -> 登錄賬號 -> 右側鏡像工具 -> 鏡像加速器 -> 復制加速器地址)[3]

截圖如下:

15d9b9b6-6a69-11ee-939d-92fbcf53809c.png

阿里云鏡像加速器

其他幾個加速域名

1.DockerProxy 代理加速:dockerproxy.com

2.百度云 Mirror:mirror.baidubce.com

3.Daocloud:docker.m.daocloud.io

4.南京大學:docker.nju.edu.cn

5.上海交大:docker.mirrors.sjtug.sjtu.edu.cn

都是固定域名,直接配置即可。

已經不可用的 Docker 加速域名

以下 Docker 加速域名,已經因為各種原因不可用或只允許對應云供應商網絡使用,包括:

?163:hub-mirror.c.163.com?USTC:docker.mirrors.ustc.edu.cn?騰訊云:mirror.ccs.tencentyun.com?Azure 中國:dockerhub.azk8s.cn?七牛云:reg-mirror.qiniu.com?Docker CN:registry.docker-cn.com

Docker Registry Mirror 配置

創建或修改/etc/docker/daemon.json:

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-EOF
{
    "registry-mirrors": [
        "https://.mirror.aliyuncs.com",
        "https://dockerproxy.com",
        "https://mirror.baidubce.com",
        "https://docker.m.daocloud.io",
        "https://docker.nju.edu.cn",
        "https://docker.mirrors.sjtug.sjtu.edu.cn"
    ]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

自建 Docker Registry Mirror/Proxy

前提

?有 Cloudflare 賬號?(可選)有自定義的域名,且域名托管在 Cloudflare 上?Cloudflare Workers 額度足夠

cloudflare-docker-proxy

這里使用 Cloudflare Worker -cloudflare-docker-proxy[4]搭建。原文 README 步驟有一些問題,可以參考這篇README.md[5]來實施。

這里以自定義域名配置方式舉例, 步驟如下:

1.Fork Repo2.Deploy 按鈕對應 URL 調整為您自己的 repo url3.修改src/index.js的const routes塊的內容

15f0ce3a-6a69-11ee-939d-92fbcf53809c.png

4.點擊 "Deploy" 按鈕部署,部署后如下:

15fc882e-6a69-11ee-939d-92fbcf53809c.png

Cloudflare Worker

5.在 Cloudflare 的 DNS 記錄里添加CNAME指向部署后的${workername}.${username}.workers.dev地址。如下:

1615edfa-6a69-11ee-939d-92fbcf53809c.png

Cloudflare DNS Records

6.在 Workers 的 HTTP Routes 里,添加xxx.your-domain.com/*路由指向 cloudflare-docker-proxy, xxx 就是dockerquaygcr等,如下:

1635e06a-6a69-11ee-939d-92fbcf53809c.png

Cloudflare Worker Routes

完成。

Docker Registry Mirror 配置

將配置后的docker..comMirror 添加到/etc/docker/daemon.json的registry-mirrors中并重啟 Docker 生效。

Docker Daemon 配置proxies

如果不想設置 Mirrors, 還可以配置proxies, 實現通過proxies拉取 Docker Hub 鏡像。

前提

?有一個 Proxy, 可以穩定訪問到 Docker Hub

Docker Daemon 配置

vi /etc/docker/daemon.json, 添加如下內容:

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-EOF
{
    "proxies": {
        "http-proxy": "http://:7890",
        "https-proxy": "http://:7890",
        "no-proxy": "*.cn,127.0.0.0/8,192.168.0.0/16,172.16.0.0/12,10.0.0.0/8"
    }
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

Notes:

Docker Daemon 里的no-proxy, 是支持 CIDR 格式的.

完成。

注冊各個鏡像庫賬號并登錄

包括不限于:

?Docker Hub?Quay.io?GHCR.io (GitHub 的 Docker registry)?gcr.io (Google Cloud 的 Registry)?...

注冊后,視情況不同,有的可以直接通過密碼登錄,有的需要申請 Token/Service Account 等專用密碼。

注冊過程略。

docker login登錄

Docker Hub 登錄:

echo "" | docker login --username  --password-stdin'

其他 Docker Registry 登錄:

echo "" | docker login quay.io --username  --password-stdin
echo "" | docker login ghcr.io --username  --password-stdin
echo "" | docker login gcr.io --username  --password-stdin

或者,也可以直接寫入~/.docker/config.json文件:

{
  "auths": {
    "ghcr.io": {
      "auth": ""
    },
    "https://index.docker.io/v1/": {
      "auth": ""
    },
    "quay.io": {
      "auth": ""
    }
  }
}

通過如下方式獲得:

echo -n ':' | base64

結束。

總結

通過以上方法,相信您能在國內使用 Docker 得心應手。







審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 加速器
    +關注

    關注

    2

    文章

    785

    瀏覽量

    37146
  • DNS
    DNS
    +關注

    關注

    0

    文章

    211

    瀏覽量

    19699
  • URL
    URL
    +關注

    關注

    0

    文章

    138

    瀏覽量

    15217
  • Docker
    +關注

    關注

    0

    文章

    446

    瀏覽量

    11738

原文標題:Docker 鏡像國內加速的幾種方法,推薦收藏!

文章出處:【微信號:良許Linux,微信公眾號:良許Linux】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    怎么構建docker鏡像倉庫軟件

    Docker Registry】用docker registry 鏡像搭建私有測試倉庫
    發表于 08-13 11:03

    Docker上的Alpine Linux鏡像建立

    如何建立你自己的Docker鏡像2016-03-18 14:33 Alpine Linux的什么是Docker社區所鐘愛?輕量級容器意味著更多的計算資源。Alpine Linux的確是輕型
    發表于 10-12 11:52 ?0次下載

    淺析Docker鏡像本地存儲機制及容器啟動原理

    Docker 鏡像不是一個單一的文件,而是有多層構成。我們可通過 docker images 獲取本地的鏡像列表及對應的元信息, 接著可通過dock
    發表于 10-19 14:17 ?2482次閱讀

    干貨:計算fibnacci 級數的幾種方法

    干貨:計算fibnacci 級數的幾種方法
    的頭像 發表于 06-22 11:23 ?2313次閱讀
    干貨:計算fibnacci 級數的<b class='flag-5'>幾種方法</b>

    國內Docker CE 鏡像源的配置

    阿里云官方鏡像站: https://developer.aliyun.com/mirror/?utm_content=g_1000303593 ? Docker CE 是免費的 Docker 產品
    的頭像 發表于 11-09 09:16 ?3548次閱讀

    Docker—簡介與鏡像用法

    阿里云官方鏡像站: ??https://developer.aliyun.com/mirror/?utm_content=g_1000303593?? ? 一、容器簡介 Docker是管理容器的引擎
    發表于 11-25 16:28 ?477次閱讀
    <b class='flag-5'>Docker</b>—簡介與<b class='flag-5'>鏡像</b>用法

    go項目怎么讓docker鏡像體積減小

    【導讀】go 項目怎么讓 docker 鏡像體積減小?本文做了詳細介紹。
    的頭像 發表于 06-12 15:07 ?1314次閱讀

    go項目怎么讓docker鏡像體積減小

    go 項目怎么讓 docker 鏡像體積減小?本文做了詳細介紹。
    的頭像 發表于 06-23 10:49 ?1098次閱讀

    Docker鏡像的詳細講解

    本文是對 Docker 鏡像的詳細講解,講解了如何安裝 Docker、配置 Docker 鏡像加速
    的頭像 發表于 08-02 10:00 ?2024次閱讀

    從零開始學習制作、以及使用Tina的Docker編譯鏡像

    學習制作、以及使用Tina的Docker編譯鏡像
    的頭像 發表于 08-28 11:45 ?2128次閱讀
    從零開始學習制作、以及使用Tina的<b class='flag-5'>Docker</b>編譯<b class='flag-5'>鏡像</b>

    減少docker鏡像大小的方法

    Docker 是一種容器引擎,可以在容器內運行一段代碼。Docker 鏡像是在任何地方運行您的應用程序而無需擔心應用程序依賴性的方式。
    的頭像 發表于 05-15 11:13 ?812次閱讀
    減少<b class='flag-5'>docker</b><b class='flag-5'>鏡像</b>大小的<b class='flag-5'>方法</b>

    IQ混頻器怎么抑制鏡像

    要抑制IQ混頻器的鏡像,可以采取以下幾種方法
    的頭像 發表于 07-04 09:36 ?1090次閱讀

    docker 搜索鏡像,docker查看鏡像詳細信息(docker下載鏡像命令)

    Docker Hub是集中管理的Docker鏡像注冊中心。通過Docker 用戶可以在注冊中心搜索、下載和使用CLI命令行工具中的鏡像。以下
    的頭像 發表于 07-19 09:46 ?1622次閱讀

    如何在Windows系統上設置Docker鏡像

    在使用 Docker 進行鏡像下載和構建時,由于眾所周知的原因,國內用戶可能會遇到下載速度慢或者無法連接的問題。為了解決這個問題,我們可以使用國內
    的頭像 發表于 10-24 16:55 ?4813次閱讀

    手動構建Docker鏡像方法

    不推薦使用docker commit命令,而應該使用更靈活、更強大的dockerfile來構建docker鏡像
    的頭像 發表于 08-05 15:30 ?255次閱讀
    手動構建<b class='flag-5'>Docker</b><b class='flag-5'>鏡像</b>的<b class='flag-5'>方法</b>