国内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

相关文章

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

Python极速搭建局域网文件共享服务器完整指南

《Python极速搭建局域网文件共享服务器完整指南》在办公室或家庭局域网中快速共享文件时,许多人会选择第三方工具或云存储服务,但这些方案往往存在隐私泄露风险或需要复杂配置,下面我们就来看看如何使用Py... 目录一、android基础版:HTTP文件共享的魔法命令1. 一行代码启动HTTP服务器2. 关键参

SpringBoot改造MCP服务器的详细说明(StreamableHTTP 类型)

《SpringBoot改造MCP服务器的详细说明(StreamableHTTP类型)》本文介绍了SpringBoot如何实现MCPStreamableHTTP服务器,并且使用CherryStudio... 目录SpringBoot改造MCP服务器(StreamableHTTP)1 项目说明2 使用说明2.1

MySQL 主从复制部署及验证(示例详解)

《MySQL主从复制部署及验证(示例详解)》本文介绍MySQL主从复制部署步骤及学校管理数据库创建脚本,包含表结构设计、示例数据插入和查询语句,用于验证主从同步功能,感兴趣的朋友一起看看吧... 目录mysql 主从复制部署指南部署步骤1.环境准备2. 主服务器配置3. 创建复制用户4. 获取主服务器状态5

SpringBoot结合Docker进行容器化处理指南

《SpringBoot结合Docker进行容器化处理指南》在当今快速发展的软件工程领域,SpringBoot和Docker已经成为现代Java开发者的必备工具,本文将深入讲解如何将一个SpringBo... 目录前言一、为什么选择 Spring Bootjavascript + docker1. 快速部署与

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

如何在Ubuntu 24.04上部署Zabbix 7.0对服务器进行监控

《如何在Ubuntu24.04上部署Zabbix7.0对服务器进行监控》在Ubuntu24.04上部署Zabbix7.0监控阿里云ECS服务器,需配置MariaDB数据库、开放10050/1005... 目录软硬件信息部署步骤步骤 1:安装并配置mariadb步骤 2:安装Zabbix 7.0 Server

使用Docker构建Python Flask程序的详细教程

《使用Docker构建PythonFlask程序的详细教程》在当今的软件开发领域,容器化技术正变得越来越流行,而Docker无疑是其中的佼佼者,本文我们就来聊聊如何使用Docker构建一个简单的Py... 目录引言一、准备工作二、创建 Flask 应用程序三、创建 dockerfile四、构建 Docker

SpringBoot+Docker+Graylog 如何让错误自动报警

《SpringBoot+Docker+Graylog如何让错误自动报警》SpringBoot默认使用SLF4J与Logback,支持多日志级别和配置方式,可输出到控制台、文件及远程服务器,集成ELK... 目录01 Spring Boot 默认日志框架解析02 Spring Boot 日志级别详解03 Sp

java实现docker镜像上传到harbor仓库的方式

《java实现docker镜像上传到harbor仓库的方式》:本文主要介绍java实现docker镜像上传到harbor仓库的方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录1. 前 言2. 编写工具类2.1 引入依赖包2.2 使用当前服务器的docker环境推送镜像2.2