一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Docker鏡像國內(nèi)加速的幾種方法

dyquk4xk2p3d ? 來源:東風(fēng)微鳴技術(shù)博客 ? 2023-10-19 10:02 ? 次閱讀

概述

在國內(nèi),拉取 Docker 鏡像速度慢/時不時斷線/無賬號導(dǎo)致限流等,比較痛苦. 這里提供加速/優(yōu)化的幾種方法。

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

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

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

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

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

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

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

具體方案如下。

具體方案

Notes:

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

1.配置國內(nèi)可用/速度尚可的 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登錄

方案實施細(xì)節(jié)

配置國內(nèi)可用的 Docker Registry Mirrors

隨著時間的推移,國內(nèi)可用的 Docker Registry Mirrors 會持續(xù)發(fā)生變化,因此,需要實時根據(jù)可用情況調(diào)整 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.南京大學(xué):docker.nju.edu.cn

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

測試國內(nèi) Docker Registry 可用性

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

docker pull dockerproxy.com/library/nginx

在國內(nèi)拉取成功則證明可用。

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

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

ocker-registry-cn-mirror-test result

阿里云 Docker 加速服務(wù)申請

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

截圖如下:

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

阿里云鏡像加速器

其他幾個加速域名

1.DockerProxy 代理加速:dockerproxy.com

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

3.Daocloud:docker.m.daocloud.io

4.南京大學(xué):docker.nju.edu.cn

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

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

已經(jīng)不可用的 Docker 加速域名

以下 Docker 加速域名,已經(jīng)因為各種原因不可用或只允許對應(yīng)云供應(yīng)商網(wǎng)絡(luò)使用,包括:

?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 配置

創(chuàng)建或修改/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 按鈕對應(yīng) URL 調(diào)整為您自己的 repo url3.修改src/index.js的const routes塊的內(nèi)容

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

如果不想設(shè)置 Mirrors, 還可以配置proxies, 實現(xiàn)通過proxies拉取 Docker Hub 鏡像。

前提

?有一個 Proxy, 可以穩(wěn)定訪問到 Docker Hub

Docker Daemon 配置

vi /etc/docker/daemon.json, 添加如下內(nèi)容:

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

結(jié)束。

總結(jié)

通過以上方法,相信您能在國內(nèi)使用 Docker 得心應(yīng)手。







審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 加速器
    +關(guān)注

    關(guān)注

    2

    文章

    821

    瀏覽量

    38779
  • DNS
    DNS
    +關(guān)注

    關(guān)注

    0

    文章

    221

    瀏覽量

    20184
  • URL
    URL
    +關(guān)注

    關(guān)注

    0

    文章

    139

    瀏覽量

    15747
  • Docker
    +關(guān)注

    關(guān)注

    0

    文章

    503

    瀏覽量

    12539

原文標(biāo)題:Docker 鏡像國內(nèi)加速的幾種方法,推薦收藏!

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

收藏 人收藏

    評論

    相關(guān)推薦

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

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

    干貨:計算fibnacci 級數(shù)的幾種方法

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

    國內(nèi)Docker CE 鏡像源的配置

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

    Docker—簡介與鏡像用法

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

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

    【導(dǎo)讀】go 項目怎么讓 docker 鏡像體積減小?本文做了詳細(xì)介紹。
    的頭像 發(fā)表于 06-12 15:07 ?1550次閱讀

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

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

    Docker鏡像的詳細(xì)講解

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

    減少docker鏡像大小的方法

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

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

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

    如何在Windows系統(tǒng)上設(shè)置Docker鏡像

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

    手動構(gòu)建Docker鏡像方法

    不推薦使用docker commit命令,而應(yīng)該使用更靈活、更強(qiáng)大的dockerfile來構(gòu)建docker鏡像。
    的頭像 發(fā)表于 08-05 15:30 ?734次閱讀
    手動構(gòu)建<b class='flag-5'>Docker</b><b class='flag-5'>鏡像</b>的<b class='flag-5'>方法</b>

    docker通過中間鏡像加速部署

    使用 docker 打包鏡像的時候, 每次耗費時間最多的就是 docker build 的過程. 特別是對于前端工程的打包, 有時候下載依賴包的時間就要 10 幾分鐘, 這就導(dǎo)致發(fā)布版本的效率極低.
    的頭像 發(fā)表于 01-06 12:39 ?335次閱讀

    Docker-鏡像的分層-busybox鏡像制作

    目錄 知識點1:鏡像的分層 示例:進(jìn)入 docker hub查看Jenkins的Dockerfile 知識點2:base鏡像 知識點3:scratch鏡像 scratch
    的頭像 發(fā)表于 01-15 10:44 ?436次閱讀
    <b class='flag-5'>Docker</b>-<b class='flag-5'>鏡像</b>的分層-busybox<b class='flag-5'>鏡像</b>制作

    docker-proxy鏡像加速倉庫

    自建多平臺容器鏡像代理服務(wù),支持 Docker Hub, GitHub, Google, k8s, Quay, Microsoft 等鏡像倉庫。
    的頭像 發(fā)表于 03-06 16:06 ?281次閱讀
    <b class='flag-5'>docker</b>-proxy<b class='flag-5'>鏡像</b><b class='flag-5'>加速</b>倉庫

    基于Docker鏡像逆向生成Dockerfile

    在本文中, 我們將通過理解Docker鏡像如何存儲數(shù)據(jù), 以及如何使用工具查看鏡像方方面面的信息來逆向工程一個Docker鏡像; 以及如何使
    的頭像 發(fā)表于 03-10 09:45 ?366次閱讀
    基于<b class='flag-5'>Docker</b><b class='flag-5'>鏡像</b>逆向生成Dockerfile