首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >自建 Docker 镜像摆脱 Docker pull 失败困境

自建 Docker 镜像摆脱 Docker pull 失败困境

作者头像
轩辕镜像
发布于 2024-09-29 12:47:59
发布于 2024-09-29 12:47:59
1.6K00
代码可运行
举报
文章被收录于专栏:轩辕镜像轩辕镜像
运行总次数:0
代码可运行

第三方镜像列表

DockerHub 国内镜像源/加速列表(0913更新)

CF-Workers-docker.io:Docker仓库镜像代理工具

这个项目是一个基于 Cloudflare Workers 的 Docker 镜像代理工具。它能够中转对 Docker 官方镜像仓库的请求,解决一些访问限制和加速访问的问题。

部署方式

  • Workers 部署:复制 worker.js 代码,保存并部署即可
  • Pages 部署:Fork连接 GitHub 一键部署即可

如何使用?

例如您的Workers项目域名为:docker.xuanyuan.me ;

1.官方镜像路径前面加域名

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker pull docker.xuanyuan.me/stilleshan/frpc:latest

docker pull docker.xuanyuan.me/library/nginx:stable-alpine3.19-perl

2.一键设置镜像加速

修改文件 /etc/docker/daemon.json(如果不存在则创建)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://docker.xuanyuan.me"]  # 请替换为您自己的Worker自定义域名
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

3. 配置常见仓库的镜像加速

3.1 配置

Containerd 较简单,它支持任意 registrymirror,只需要修改配置文件 /etc/containerd/config.toml,添加如下的配置:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    [plugins."io.containerd.grpc.v1.cri".registry]
      [plugins."io.containerd.grpc.v1.cri".registry.mirrors]
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
          endpoint = ["https://xxxx.xx.com"]
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."k8s.gcr.io"]
          endpoint = ["https://xxxx.xx.com"]
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."gcr.io"]
          endpoint = ["https://xxxx.xx.com"]
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."ghcr.io"]
          endpoint = ["https://xxxx.xx.com"]
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."quay.io"]
          endpoint = ["https://xxxx.xx.com"]

Podman 同样支持任意 registrymirror,修改配置文件 /etc/containers/registries.conf,添加配置:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
unqualified-search-registries = ['docker.io', 'k8s.gcr.io', 'gcr.io', 'ghcr.io', 'quay.io']

[[registry]]
prefix = "docker.io"
insecure = true
location = "registry-1.docker.io"

[[registry.mirror]]
location = "https://xxxx.onrender.com"

[[registry]]
prefix = "k8s.gcr.io"
insecure = true
location = "k8s.gcr.io"

[[registry.mirror]]
location = "https://xxxx.onrender.com"

[[registry]]
prefix = "gcr.io"
insecure = true
location = "gcr.io"

[[registry.mirror]]
location = "https://xxxx.onrender.com"

[[registry]]
prefix = "ghcr.io"
insecure = true
location = "ghcr.io"

[[registry.mirror]]
location = "https://xxxx.onrender.com"

[[registry]]
prefix = "quay.io"
insecure = true
location = "quay.io"

[[registry.mirror]]
location = "https://xxxx.onrender.com"
3.3 使用

对于以上配置,k8s在使用的时候,就可以直接pull外部无法pull的镜像了 手动可以直接pull 配置了mirror的仓库

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
crictl pull registry.k8s.io/kube-proxy:v1.28.4 

docker pull nginx:1.21

变量说明

变量名

示例

必填

备注

URL302

https://t.me/CMLiussss

主页302跳转

URL

主页伪装(设为nginx则伪装为nginx默认页面)

UA

netcraft

支持多元素, 元素之间使用空格或换行作间隔

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
《Linux命令行与shell脚本编程大全》第十二章 使用结构化命令
许多程序要就对shell脚本中的命令施加一些逻辑控制流程。 结构化命令允许你改变程序执行的顺序。不一定是依次进行的 12.1 使用if-then语句 如下格式: if command then          commands fi if语句会允许if后面的那个命令,如果该命令的退出码的0(代表成功了)位于then部分的命令就会被执行。否则不执行。 例子: #!/bin/bash # if then test if pwd  then echo “pwd success” fi # thi
xcywt
2018/01/11
1K0
轻度Linux服务器维护人员常用的Shell脚本命令
笔者平时属于非专业运维人员,但是偶尔也需要接触一些测试服务器和个人VPS服务器。所以收集了一些常用的Shell脚本,希望跟我一样的开发人员能有一些收获。 文件操作 更改当前目录 cd 获取当前目录 pwd 删除文件/目录 rm -f or rm -rf or rmdir 创建文件 touch or cat > xxx 创建临时文件 mktemp testing.XXXXXX, 文件名末尾加6个X 创建临时目录 mktemp -d dir.XXXXXX, 目录名末尾加6个X 创建目录 mkdir 移动文件/文
李海彬
2018/03/28
2.3K0
shell基础学习总结(一) (r3笔记第63天)
关于shell也多多少少的写了不少文章了。在工作中shell的使用也是相当的普遍了,尤其是基础的学习。今天就简单的总结一下,希望对大家有所帮助。 -->查看局部/全局环境变量 printenv env
jeanron100
2018/03/15
7250
linux22-条件语句
shell 中的if 与其他编程语言有所不同。它默认下的if 后的对象为一个命令(command),而非通常的条件(condition)。
北野茶缸子
2022/07/07
1.5K0
linux22-条件语句
Linux笔记09
-tjoin预设以空格符分隔数据,并且比对第一个字段的数据,如果两个档案相同,则将两个数据联成一行,且第一个字段放在第一个
用户7271996
2023/03/09
3380
Shell脚本学习总结(一) 原
临时变量:是shell程序内部定义的,其使用范围仅限于定义它的程序,对其它程序不可见
wuweixiang
2018/08/14
4120
linux Shell备忘录
和switch很像,然后在case的枚举后面,用)代表一个case完。一个case的comman后面加上;;,default应该是*)
yuann
2021/04/09
5690
PAT 1010 Radix
1010. Radix (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue
ShenduCC
2018/04/26
6860
shell脚本基本语法详解
编写shell脚本的时候,最前面要加上一行:#!/bin/bash,因为linux里面不仅仅只有bash一个解析器,还有其它的,它们之间的语法会有一些不同,所以最好加上这一句话,告诉系统要用这个解析器。
全栈程序员站长
2022/09/18
1.1K0
shell脚本基本语法详解
20 分钟 Shell 入门深度教程
作者:aron1992 来源:https://my.oschina.net/FEEDFACF/blog/1789695 0. 背景 之前写了系列的shell实战的文章,得到了挺多小伙伴的关注,遇到有些对shell不太熟悉小伙伴,所以有个想法写一篇shell入门的文章。 时间流逝,再回头去看看过去的东西,才会发现哪些东西比较重要,故撰此文,记录我在过去学习和使用shell语言过程中我个人觉得比较重要的部分,做一个小总结和分享。 文章中使用到的代码位置:https://gitee.com/dhar/YTTIn
小小科
2018/05/04
1.4K0
Bash概论 - Linux系列教程补充篇
本篇是我最开始学习Linux命令时看的一篇帖子,最早见于ChinaUnix (这次查找其出处时发现2002年就有这篇)。学习过程中,遇到问题就查一下。这次看到,把格式整理了,部分内容做了校对,增加了解释和示例,分享于此,也是对之前我们写的16篇Linux入门和生物信息常用Linux命令文章 (包括最基础操作、环境变量、可执行属性,命令行运行监测、常见错误、快捷操作、管道、标准输入输出、软件安装、Docker、Conda、定期备份、配置信息查询、awk、sed、vim)的补充。 Bash特殊字符 1.
生信宝典
2018/02/05
1.3K0
Linux从入门到精通(十二)——shell编程
Shell脚本:按照一定的语法结构把若干linux命令组合在一起,实现特定的功能。
传说之下的花儿
2023/04/16
5K0
shell脚本中各种括号的区别以及用法
最近学到了shell脚本编程,觉得脚本中的不同括号有不同的用处,以及有些括号的格式也有特殊要求,下面我就总结一下各种括号的用法。
用户4877748
2020/07/22
3.9K0
shell 学习笔记3
####shell结构 #!指定执行脚本的shell #注释行 命令和控制结构  第一步:创建一个包含命令和控制结构的文件  第二步:修改这个文件的权限使它可以执行,chmod u+x  第三步:执行./example(或sh example,使用此方式执行时加-x,可以看到执行过程)
py3study
2020/01/14
6280
shell脚本编程之路3
描述:我们学过的每一种高级编程语言,都在存在流程/分支选择/循环等结构,同样shell编程中也有这是与windows上的bat编程不一样的点;shell选择分支嵌套建议不超过三层,为了执行的效率和其他人容易读懂;
全栈工程师修炼指南
2022/09/28
5410
shell脚本编程之路3
【一通百通】Bash的单双括号建议:多用[[]], 少用[]
Ø [ ] 中字符串或者${}变量尽量使用"" 双引号扩住,避免值未定义引用而出错的好办法
sunsky
2020/08/20
6510
shell 快速入门
变量 #!/bin/bash # 变量 echo "01_变量.sh" # 变量定义与赋值,等号两边不能用空格分开 name=hahahaha echo $name echo 也使用 {} 输出为 ${name} # 一些特殊变量 test_func() { echo "function name is $FUNCNAME" } test_func echo $HOSTNAME echo $HOSTTYPE echo $MATCHTYPE echo $LANG echo $PWD # echo $
祥祥
2021/01/08
2K0
Shell test [] 命令:条件判断的艺术
在编程世界里,shell 脚本是一种强大而又灵活的方式,用于处理文件、执行命令以及进行自动化操作。
南山竹
2024/06/17
2040
Shell test [] 命令:条件判断的艺术
linux命令行与shell脚本编程大全和鸟哥的私房菜_linux进入命令行
链接文件:符号链接:是一个实实在在的文件,两个通过符号链接在一起的文件,彼此的内容并不相同。使用ln -s命令。
全栈程序员站长
2022/09/27
2.7K0
Shell 编程日记
爱技术的小黄鸭
2023/06/15
3340
Shell 编程日记
相关推荐
《Linux命令行与shell脚本编程大全》第十二章 使用结构化命令
更多 >
LV.0
这个人很懒,什么都没有留下~
交个朋友
加入腾讯云官网粉丝站
蹲全网底价单品 享第一手活动信息
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档