国内docker镜像站全军覆没 如何自己部署一个Docker镜像加速服务器?

近日,在使用SJTUG提供的镜像加速拉取镜像的时候死活拉不下来,不管是 docker hub 还是国内的某些镜像站,同样都无法使用,虽然现在还有部分可用的镜像站,但也说不准某一天因为某些原因同样停止提供了,这时候就要考虑其他的解决方案了,这篇文章教大家如何自己搭建一个 Docker 加速服务器。

(前提是需要一台海外服务器!!!)
我的博客: https://www.itwk.cc/post/1497.html

安装Docker Docker compose

下面这里是安装 Docker 与 Docker compose 的方法,大佬请忽略~

# Ubuntu / Debian 系
sudo apt-get update
sudo apt-get upgrade

# CentOS、Rocky RHEL系列操作系统
yum update
yum upgrade

# 安装 Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

# 安装 Docker compose
# GayHub:https://github.com/docker/compose/releases/latest
# 参考GayHUB地址查找最新版本号,将下方的版本号修改为最新(不改也没啥事,可以忽略。。。)

sudo curl -L "https://github.com/docker/compose/releases/download/2.27.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose # 我这里的版本号是基于2024年6月9日最新的 2.27.1

# 授予可执行权限
sudo chmod +x /usr/local/bin/docker-compose

# 测试
docker-compose -v
# 安装成功会显示 docker-compose 版本

搭建镜像加速服务器

编写一个 docker-compose.yml文件,内容如下:

version: "3"
services:
    docker-registry:
        image: registry:2
        container_name: registry-server
        restart: always
        ports:
            - "5000:5000"
        volumes: 
            - /data/docker-registry:/data   # 数据存放目录
        environment:
            - REGISTRY_PROXY_REMOTEURL=https://registry-1.docker.io
            - REGISTRY_PROXY_USERNAME=username 
            - REGISTRY_PROXY_PASSWORD=password
            - REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY=/data
            - http_proxy=http://10.0.0.1:1080  # proxy
            - https_proxy=http://10.0.0.1:1080 # proxy

**注意:**如果实在是没有海外服务器,还有一个办法,通过局域网 HTTP/HTTPS 代理来加速Docker镜像的拉取,最后两条海外服务器无需配置

到现在Docker私有加速服务就算搭建好了~

个人建议,使用NGINX或者其他WEB中间件反向代理镜像服务器并启用SSL

附上Nginx配置文件示例:

    server {  
    listen 80;  
    server_name  your_domain_name;  
    location / {  
        return 301 https://$host$request_uri;  
    }  
}  
    server {  
        listen 443 ssl;
        server_name your_domain_name;  
        ssl_certificate /etc/pki/tls/certs/ssl.pem;  
        ssl_certificate_key /etc/pki/tls/private/ssl.key;
        location / {  
            proxy_pass http://localhost:5000;  
            proxy_set_header Host $host;  
            proxy_set_header X-Real-IP $remote_addr;  
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
            proxy_set_header X-Forwarded-Proto $scheme;  
        }  
        # HSTS  
        add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";  
    }  

Docker配置

编辑/etc/docker/daemon.json 没有则新建一个,然后内容如下

{
        "registry-mirrors": ["https://your_registry_url"]  # your_registry_url为你的加速地址
}

重新加载systemd守护进程并重启Docker

systemctl daemon-reload
systemctl restart docker

拉取镜像测试

openaiassets_8c13e0d9c1fa214aedd7c9065bf36918_2579861717936501267.png

速度还是很ok的~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/694132.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【QT5.14.2】编译MQTT库example的时候报No such file or directory

【QT5.14.2】编译MQTT库example的时候报No such file or directory 前几天导师让跑一下MQTT库,用的5.14.2版本的QT,于是就上网搜了一个教程:https://www.bilibili.com/video/BV1dH4y1e7hG/?spm_id_from333.337.search-card.all.click&v…

【PLG洞察】| 飞书成功之路:关键在分销裂变

引言 随着企业服务市场的发展,Product-Led Growth(PLG,产品驱动增长)模式逐渐成为众多SaaS企业的首选战略。在这个背景下,字节跳动旗下的企业协作与管理平台——飞书,凭借其独特的分销裂变策略&#xff0c…

2024年6月9日 (周日) 叶子游戏新闻

万能嗅探: 实测 网页打开 某视频号、某音、某红薯、某站,可以做到无水印的视频和封面下载功能哦,具体玩法大家自行发挥吧。 《Funko Fusion》发布新预告 20款影视作品齐聚一堂第三人称动作游戏新作《Funko Fusion》今日发布最新实机演示。该游戏融合了整…

java —— 线程(一)

一、进程与线程 一个进程可以包含一个以上的线程,CPU 时间片切换的基本单位是线程。 二、创建线程 (一)继承 Thread 类 public class Task extends Thread{Override //重写run方法public void run(){System.out.pr…

eNSP学习——RIP路由协议的汇总

目录 主要命令 原理概述 实验目的 实验内容 实验拓扑 实验编址 实验步骤 1、基本配置 2、配置RIPv1协议 3、配置RIPv2自动汇总 4、配置RIPv2手动汇总 需要eNSP各种配置命令的点击链接自取:华为eNSP各种设备配置命令大全PDF版_ensp配置命令大全…

Redis系列-5 Redis分布式锁

背景: 本文介绍Redis分布式锁的内容,包括Redis相关命令和Lua脚本的介绍,以及操作分布式锁的流程与消息,最后结合Redission源码介绍分布式锁的实现原理。 1.基本命令 1.1 基本键值对的设置 设值: set key value 取值: get key …

数据分析必备:一步步教你如何用Pandas做数据分析(21)

1、Pandas 可视化 Pandas 可视化是指使用 Pandas 库中的函数和方法来创建数据可视化图表。Pandas 提供了一些基本的绘图功能,例如折线图、柱状图、饼图等,可以通过调用相应的函数来创建这些图表。 2、基本绘图:绘图 Series和DataFrame上的…

【启明智显分享】基于工业级芯片Model3A的7寸彩色触摸屏应用于智慧电子桌牌方案

一场大型会议的布置,往往少不了制作安放参会人物的桌牌。制作、打印、裁剪,若有临时参与人员变更,会务方免不了手忙脚乱更新桌牌。由此,智能电子桌牌应运而生,工作人员通过系统操作更新桌牌信息,解决了传统…

2024.6.9 四

Python的异常处理 在python里,错误和异常是不同的概念 错误: Python 的语法错误或者称之为解析错,大多是因为写代码写错了出现的 异常: 即便 Python 程序的语法是正确的,在运行它的时候,也有可能发生错误。运行期检测到的错误被称为异常。 大多数的异常…

QT串口调试助手V2.0(源码全开源)--上位机+多通道波形显示+数据保存(优化波形显示控件)

首先关于Qt的安装和基本配置这里就不做重复说明了,注:本文在Qt5.14基础上完成 完整的项目开源仓库链接在文章末尾 图形控件——qcustomplot QCustomPlot是一个基于Qt框架的开源绘图库,用于创建高质量的二维图表和数据可视化。 QCustomPlot…

【PL理论】(12) F#:模块 | 命名空间 | 异常处理 | 内置异常 |:? | 相互递归函数

💭 写在前面:本章我们将介绍 F# 的模块,我们前几章讲的列表、集合和映射都是模块。然后我们将介绍 F# 中的异常,以及内置异常,最后再讲解一下相互递归函数。 目录 0x00 F# 模块(Module) 0x01…

堡垒机的自动化运维,快速安全提升运维效率

随着信息技术的突飞猛进,企业对于IT系统的依赖程度日益加深,不仅希望可以提高运维效率,也希望能保障IT系统的安全。因此堡垒机与自动化运维技术的结合应运而生,堡垒机的自动化运维,快速安全提升运维效率。今天我们就来…

人工智能和物联网如何结合

欢迎来到 Papicatch的博客 文章目录 🍉引言 🍉AI与IoT的结合方式 🍈数据处理和分析 🍍实例 🍈边缘计算 🍍实例 🍈自动化和自主操作 🍍实例 🍈安全和隐私保护 &…

YOLOv10 超详细解析 | 网络结构、训练策略、论文解读

网络结构 1. Backbone 2. Head 3. 说明 网络结构按 YOLOv10m 绘制,不同 scale 的模型在结构上略有不同,而不是像 YOLOv8 一样仅调整 depth 和 width。Head 有部分后续计算与 YOLOv8 完全相同,上图省略,具体请看此文。YOLOv10 整…

以sqlilabs靶场为例,讲解SQL注入攻击原理【42-53关】

【Less-42】 使用 or 11 -- aaa 密码,登陆成功。 找到注入点:密码输入框。 解题步骤: # 获取数据库名 and updatexml(1,concat(0x7e,(select database()),0x7e),1) -- aaa# 获取数据表名 and updatexml(1,concat(0x7e,(select group_conca…

QT案例 记录解决在管理员权限下QFrame控件获取拖拽到控件上的文件路径

参考知乎问答 Qt管理员权限如何支持拖放操作? 的回答和代码示例。 解决在管理员权限运行下,通过窗体的QFrame子控件获取到拖拽的内容。 目录标题 导读解决方案详解示例详细 【管理员权限】在QFrame控件中获取拖拽内容 【管理员权限】继承 IDropTarget 类…

Invalid JSON text:“Invalid value.“ at position 0 in value for column ‘user.info

你们好,我是金金金。 场景 我正在练习mybatis-plus,在插入一条数据的时候报错了,错误信息如上图 排查 排查之前我先贴一下代码 以下为数据库字段类型 在插入的过程中报错:Data truncation: Invalid JSON text: "Invalid val…

百度高级项目经理洪刘生受邀为第十三届中国PMO大会演讲嘉宾

全国PMO专业人士年度盛会 百度在线网络技术(北京)有限公司IDG智能驾驶业务部高级项目经理洪刘生先生受邀为PMO评论主办的2024第十三届中国PMO大会演讲嘉宾,演讲议题为“互联网PMO赋能战略项目集管理实战分享”。大会将于6月29-30日在北京举办…

FCN-语义分割中的全卷积网络

FCN-语义分割中的全卷积网络 语义分割 语义分割是计算机视觉中的关键任务之一,现实中,越来越多的应用场景需要从影像中推理出相关的知识或语义(即由具体到抽象的过程)。作为计算机视觉的核心问题,语义分割对于场景理…

【西瓜书】9.聚类

聚类任务是无监督学习的一种用于分类等其他任务的前驱过程,作为数据清洗,基于聚类结果训练分类模型 1.聚类性能度量(有效性指标) 分类任务的性能度量有错误率、精度、准确率P、召回率R、F1度量(P-R的调和平均)、TPR、FPR、AUC回归…