欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Docker搭建鏡像加速站的四種方法實(shí)現(xiàn)

 更新時(shí)間:2025年09月25日 10:45:16   作者:JimKKu  
本文介紹了四種搭建 Docker 鏡像加速站的方式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前言

之前因?yàn)閷W(xué)習(xí)原因,購買了一臺(tái)海外服務(wù)器,使用過程中,我發(fā)現(xiàn)它拉取 Docker 鏡像十分方便,于是乎就長時(shí)間作為一個(gè) Docker 中間站來使用,通過 Docker pull + Docker save + scp + Docker load使用著,但是這樣太麻煩了,每次獲得一個(gè)鏡像,我都要四個(gè)步驟,而且服務(wù)器帶寬很小,拉取挺慢、傳下來更慢,給我用的糟心的不行,因此,經(jīng)過兩天的仔細(xì)處理,部署了一個(gè) Docker 鏡像加速站,試了下速度還可以,下面是過程中我用的幾種方法,每種方法的優(yōu)劣我都進(jìn)行一些介紹。

方法一: Nexus

官網(wǎng) | Github

優(yōu)點(diǎn):快速部署

缺點(diǎn):需要至少1G的運(yùn)存,否則無法啟動(dòng)或啟動(dòng)后會(huì)拋異常

支持:Docker、Maven、npm、PyPI

如果你的服務(wù)器有足夠運(yùn)存的話,那這個(gè)方法還是很推薦的,使用下方命令一鍵啟動(dòng)即可:

  1. 啟動(dòng)
docker run -d -p 8081:8081 -p 8082:8082 --name nexus sonatype/nexus3
  1. 隨后在編輯/etc/docker/daemon.json文件,在JSON中加入下方內(nèi)容即可:
{
  "registry-mirrors": ["http://xxxx.com:8082"]
}

應(yīng)該也可以直接使用IP

  1. 加載配置并重啟 Docker
sudo systemctl daemon-reload
sudo systemctl restart docker

方法二: Harbor

優(yōu)點(diǎn):支持私有鏡像倉庫 、 也能加速

缺點(diǎn):需要至少2G的運(yùn)存、需要自己編寫配置文件

支持:Docker、Helm Chart、OCI 鏡像

  1. 部署
# 使用 Docker Compose 快速部署
wget https://github.com/goharbor/harbor/releases/download/v2.8.0/harbor-online-installer-v2.8.0.tgz
tar -xzvf harbor-online-installer-v2.8.0.tgz
cd harbor
cp harbor.yml.tmpl harbor.yml
vim harbor.yml  # 修改 hostname、端口等配置
./install.sh
  1. 使用

編輯/etc/docker/daemon.json文件,加入以下內(nèi)容:

{  "registry-mirrors": ["https://your-harbor-server.com"] }
  1. 加載配置并重啟 Docker
sudo systemctl daemon-reload
sudo systemctl restart docker

方法三: Dragonfly

這個(gè)方法不介紹了,因?yàn)槲乙矝]有嘗試,也需要較大運(yùn)存才可以,支持 Docker、Containerd、Kubernetes

方法四: 小運(yùn)存方案[我用的方案 | 推薦]

優(yōu)點(diǎn):運(yùn)存需求極小

缺點(diǎn):只能加速、緩存,不能當(dāng)做鏡像站,且操作起來略麻煩

支持:Docker

由于我的服務(wù)器只有1G運(yùn)存且還要跑一些別的東西,實(shí)在無力招架上面三種方案,因此我絞盡GPT的腦汁,想出來了這種方案。

我這種方案用到了SSL證書,我不確定不用SSL證書行不行(因?yàn)槲以瓉砭陀校?,建議可以通過Cloudflare申請(qǐng)個(gè)免費(fèi)的SSL證書,網(wǎng)上教程很多,這里不多贅述(我就是這么做的),下面直接上正文:

  1. 創(chuàng)建一個(gè)文件夾,然后在里面創(chuàng)建nginx.conf文件,內(nèi)容如下:
server {
    listen 443 ssl;
    server_name docker_proxy;

    ssl_certificate     /etc/nginx/certs/fullchain.cer;
    ssl_certificate_key /etc/nginx/certs/xxx.com.key;

    location / {
        proxy_pass http://registry:5000;
    }
}

注意這里面的路徑不需要修改,只需要修改文件名即可,因?yàn)檫@不是服務(wù)器路徑,是容器內(nèi)部的路徑。

  1. 在同一個(gè)目錄下,創(chuàng)建docker-compose.yml編排文件,內(nèi)容如下:
version: '3'

services:
  registry:
    image: registry
    container_name: registry-mirror
    restart: always
    environment:
      - REGISTRY_PROXY_REMOTEURL=https://registry-1.docker.io
    volumes:
      - ./registry:/var/lib/registry
    expose:
      - "5000"

  nginx:
    image: nginx
    container_name: registry-nginx
    restart: always
    ports:
      - "443:443"
    volumes:
      - ./nginx.conf:/etc/nginx/conf.d/default.conf:ro
      - ./certs:/etc/nginx/certs:ro
    depends_on:
      - registry

  1. 然后給你的SSL文件夾拷貝到該路徑下,并取名為certs。

到這一步,你的文件夾下應(yīng)該有三個(gè)東西:

  1. nginx.conf
  2. docker-compose.yml
  3. certs 文件夾(里面是SSL公私鑰)
  1. 然后執(zhí)行下面命令,啟動(dòng)編排文件:
docker compose up -d

此時(shí)會(huì)啟動(dòng)兩個(gè)容器,然后你在本地的 Docker 配置文件中,加上你的加速地址即可,注意是https開頭的哦。

  1. 使用

編輯/etc/docker/daemon.json文件,加入以下內(nèi)容:

{
  "registry-mirrors": ["https://xxxx.com"]
}

加載配置文件并重啟docker

sudo systemctl daemon-reload
sudo systemctl restart docker

其它

在一些Docker Desktop客戶端版本中(比如Mac),是沒有/etc/docker/daemon.json文件的,你需要右上角設(shè)置里面手動(dòng)添加配置,如下:

紅框內(nèi)便是你要編輯的內(nèi)容,因涉及隱私,我打了 馬 賽 克

最后,來一張封面:

到此這篇關(guān)于Docker搭建鏡像加速站的四種方法實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Docker 鏡像加速站內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Docker鏡像推送(push)到Docker Hub的實(shí)現(xiàn)

    Docker鏡像推送(push)到Docker Hub的實(shí)現(xiàn)

    這篇文章主要介紹了Docker鏡像推送(push)到Docker Hub的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • docker compose 一鍵部署分布式配置中心Apollo的過程詳解

    docker compose 一鍵部署分布式配置中心Apollo的過程詳解

    這篇文章主要介紹了docker compose 一鍵部署分布式配置中心Apollo,今天我們使用Docker來進(jìn)行搭建,畢竟Docker對(duì)于開發(fā)者來說更友好一些,需要的朋友可以參考下
    2021-09-09
  • Docker如何部署您的第一個(gè)應(yīng)用程序

    Docker如何部署您的第一個(gè)應(yīng)用程序

    這篇文章主要介紹了Docker如何部署您的第一個(gè)應(yīng)用程序,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Docker中忽略文件的實(shí)現(xiàn)

    Docker中忽略文件的實(shí)現(xiàn)

    Docker忽略文件是指在Docker鏡像構(gòu)建過程中,用于忽略指定文件或目錄的一種機(jī)制,本文主要介紹了Docker中忽略文件的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-10-10
  • Docker?cp命令詳解之如何在Docker容器和主機(jī)之間復(fù)制文件/文件夾

    Docker?cp命令詳解之如何在Docker容器和主機(jī)之間復(fù)制文件/文件夾

    要從Docker容器中復(fù)制文件,可以使用docker?cp命令,下面這篇文章主要給大家介紹了關(guān)于Docker?cp命令詳解之如何在Docker容器和主機(jī)之間復(fù)制文件/文件夾的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2024-07-07
  • 使用Docker Compose編排本地容器的詳細(xì)步驟

    使用Docker Compose編排本地容器的詳細(xì)步驟

    Docker Compose 是一個(gè)用于定義和運(yùn)行多容器 Docker 應(yīng)用的工具,通過?docker-compose.yml?文件,你可以輕松地將多個(gè)本地容器組合成一個(gè)完整的應(yīng)用,本文給大家介紹了使用Docker Compose編排本地容器的詳細(xì)步驟,需要的朋友可以參考下
    2025-09-09
  • dockerfile中su命令切換用戶激活環(huán)境,報(bào)錯(cuò)su: invalid option -- ‘n‘

    dockerfile中su命令切換用戶激活環(huán)境,報(bào)錯(cuò)su: invalid option 

    本文主要介紹了dockerfile中su命令切換用戶激活環(huán)境以及報(bào)錯(cuò)su: invalid option -- ‘n‘的問題解決,具有一定的參考價(jià)值,感興趣的可以了解一下
    2025-01-01
  • Docker與Golang的巧妙結(jié)合

    Docker與Golang的巧妙結(jié)合

    這篇文章主要介紹了Docker與Golang的巧妙結(jié)合的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • 在docker中部署并啟動(dòng)redis的方法

    在docker中部署并啟動(dòng)redis的方法

    這篇文章主要介紹了在docker中部署并啟動(dòng)redis的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • docker容器啟動(dòng)后如何修改或添加端口

    docker容器啟動(dòng)后如何修改或添加端口

    這篇文章主要介紹了docker容器啟動(dòng)后如何修改或添加端口問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04

最新評(píng)論