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

2024-06-09 23:20

本文主要是介绍国内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:2container_name: registry-serverrestart: alwaysports:- "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的~

这篇关于国内docker镜像站全军覆没 如何自己部署一个Docker镜像加速服务器?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1046588

相关文章

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的

SpringBoot配置Ollama实现本地部署DeepSeek

《SpringBoot配置Ollama实现本地部署DeepSeek》本文主要介绍了在本地环境中使用Ollama配置DeepSeek模型,并在IntelliJIDEA中创建一个Sprin... 目录前言详细步骤一、本地配置DeepSeek二、SpringBoot项目调用本地DeepSeek前言随着人工智能技

Docker镜像pull失败两种解决办法小结

《Docker镜像pull失败两种解决办法小结》有时候我们在拉取Docker镜像的过程中会遇到一些问题,:本文主要介绍Docker镜像pull失败两种解决办法的相关资料,文中通过代码介绍的非常详细... 目录docker 镜像 pull 失败解决办法1DrQwWCocker 镜像 pull 失败解决方法2总

通过Docker Compose部署MySQL的详细教程

《通过DockerCompose部署MySQL的详细教程》DockerCompose作为Docker官方的容器编排工具,为MySQL数据库部署带来了显著优势,下面小编就来为大家详细介绍一... 目录一、docker Compose 部署 mysql 的优势二、环境准备与基础配置2.1 项目目录结构2.2 基

CentOS 7部署主域名服务器 DNS的方法

《CentOS7部署主域名服务器DNS的方法》文章详细介绍了在CentOS7上部署主域名服务器DNS的步骤,包括安装BIND服务、配置DNS服务、添加域名区域、创建区域文件、配置反向解析、检查配置... 目录1. 安装 BIND 服务和工具2.  配置 BIND 服务3 . 添加你的域名区域配置4.创建区域

Windows Server服务器上配置FileZilla后,FTP连接不上?

《WindowsServer服务器上配置FileZilla后,FTP连接不上?》WindowsServer服务器上配置FileZilla后,FTP连接错误和操作超时的问题,应该如何解决?首先,通过... 目录在Windohttp://www.chinasem.cnws防火墙开启的情况下,遇到的错误如下:无法与

关于Docker Desktop的WSL报错问题解决办法

《关于DockerDesktop的WSL报错问题解决办法》:本文主要介绍关于DockerDesktop的WSL报错问题解决办法的相关资料,排查发现是因清理%temp%文件夹误删关键WSL文件,... 目录发现问题排查过程:解决方法其实很简单:重装之后再看就能够查到了:最后分享几个排查这类问题的小www.cp

OpenManus本地部署实战亲测有效完全免费(最新推荐)

《OpenManus本地部署实战亲测有效完全免费(最新推荐)》文章介绍了如何在本地部署OpenManus大语言模型,包括环境搭建、LLM编程接口配置和测试步骤,本文给大家讲解的非常详细,感兴趣的朋友一... 目录1.概况2.环境搭建2.1安装miniconda或者anaconda2.2 LLM编程接口配置2

使用国内镜像源优化pip install下载的方法步骤

《使用国内镜像源优化pipinstall下载的方法步骤》在Python开发中,pip是一个不可或缺的工具,用于安装和管理Python包,然而,由于默认的PyPI服务器位于国外,国内用户在安装依赖时可... 目录引言1. 为什么需要国内镜像源?2. 常用的国内镜像源3. 临时使用国内镜像源4. 永久配置国内镜