Docker、Containerd添加代理

Docker、Containerd添加代理

博文的由来

国内网络环境下使用过docker的小伙伴,多数都会碰到一个一问题,由于连不上国外的dockerhub,导致无法pull需要的镜像,解决方案基本就四种

  1. 将镜像仓库地址切换到国内的镜像仓库
  2. 使用别人打好的镜像包,使用 load命令导入到本地镜像仓库
  3. 使用代理来连接国外的docker镜像库
  4. 下载源码,编译成镜像,推送到本地的镜像仓库,然后从本地镜像仓库拉取所需镜像
  • 第一种方式,像redis、mysql、postgreSQL、RabbitMQ等等,这些热门镜像国内的镜像仓库都是有我们需要的镜像版本,然而,当我们使用一些新的镜像版本时,国内镜像仓库多数情况下是没有的。

  • 第二种方式,需要从网络资源、朋友、同事那儿获取到,打包好的镜像,工作中及其不方便,严重影响工作效率。

  • 第三种方式,使用代理来连接国外的镜像仓库,这种方式在工作中会经常使用,因为大多数技术的官方文档中提到的版本,在国外的镜像仓库中都有对应的版本,使用起来快捷省力,节省时间,工作效率高。

  • 第四种方式,自己下载源码,并制作镜像,推送到本地镜像仓库。当时间充裕时,这种方式也是个不错的选择,但是但是门槛相对较高。

下面主要介绍一下如何使用代理来连接国外的镜像仓库

docker环境下使用代理

docker环境下,有两种方式可以给docker配置代理服务器

  1. 新增或修改/etc/docker/daemon-reload.json配置文件
mkdir -p /etc/docker
touch /etc/docker/daemon.json
tee /etc/docker/daemon.json << "EOF"
{
  "proxies": {
    "http-proxy": "http://IP:PORT",
    "https-proxy": "http://IP:PORT",
    "no-proxy": "localhost"
  }
}
EOF
systemctl daemon-reload
systemctl restart docker
docker info | grep 'Proxy'

执行上面的命令后,如果出现类似如下信息,表明配置成功

 HTTP Proxy: http://ip:port
 HTTPS Proxy: http://ip:port
 No Proxy: localhost

注意:

  • 需要使用你自己的代理服务器IP和PORT替换掉上面配置中的IP和PORT变量
  • 如果已经存在/etc/docker/daemon-reload.json文件,为了避免覆盖本地docker配置,直接最外层的“{}”中的最后一项配置后添加“,” ,然后按回车键,将下面的代理配置插入即可。
"proxies": {
   "http-proxy": "http://IP:PORT",
   "https-proxy": "http://IP:PORT",
   "no-proxy": "localhost"
 }

最后执行如下命令

systemctl daemon-reload
systemctl restart docker
docker info | grep 'Proxy'

如果出现类似如下信息,表明配置成功

HTTP Proxy: http://ip:port
HTTPS Proxy: http://ip:port
No Proxy: localhost
  1. 新增 /etc/systemd/system/docker.service.d/http-proxy.conf配置文件
mkdir -p /etc/systemd/system/docker.service.d
touch /etc/systemd/system/docker.service.d/http-proxy.conf
tee /etc/systemd/system/docker.service.d/http-proxy.conf << EOF
[Service]
Environment="HTTP_PROXY=http://IP:Port"
Environment="HTTPS_PROXY=http://IP:Port"
Environment="NO_PROXY=localhost,127.0.0.1,containerd"
EOF
systemctl daemon-reload
systemctl restart docker
docker info | grep 'Proxy'

如果出现类似如下信息,表明配置成功

 HTTP Proxy: http://ip:port
 HTTPS Proxy: http://ip:port
 No Proxy: localhost

kubernetes使用containerd作为运行时环境时,使用代理

新增 /etc/systemd/system/containerd.service.d/http-proxy.conf配置文件

mkdir -p /etc/systemd/system/containerd.service.d
touch /etc/systemd/system/containerd.service.d/http-proxy.conf
tee /etc/systemd/system/containerd.service.d/http-proxy.conf << EOF
[Service]
Environment="HTTP_PROXY=http://IP:Port"
Environment="HTTPS_PROXY=http://IP:Port"
Environment="NO_PROXY=localhost,127.0.0.1,containerd"
EOF
systemctl daemon-reload
systemctl restart containerd

执行如下命令,检查containerd是否重启成功

systemctl status containerd

显示内容如下所示,表明containerd重启成功

● containerd.service - containerd container runtime
   Loaded: loaded (/etc/systemd/system/containerd.service; disabled; vendor preset: disabled)
  Drop-In: /etc/systemd/system/containerd.service.d
           └─http-proxy.conf
   Active: active (running) since Tue 2024-06-25 14:04:56 CST; 1h 41min ago
     Docs: https://containerd.io
 Main PID: 24121 (containerd)
    Tasks: 103
   Memory: 132.8M
   CGroup: /system.slice/containerd.service
           ├─ 1751 /usr/bin/containerd-shim-runc-v2 -namespace k8s.io -id f4aea9371b88b7446f3d6599ea81be12223ef82ff585c5cdce0b9e1e2b516157 -address /run/containerd/containerd.sock
           ├─ 1752 /usr/bin/containerd-shim-runc-v2 -namespace k8s.io -id ea90b9ac243fdc29b627dcde5a3662d1fa1b3e77d7d17e33684d626118138a50 -address /run/containerd/containerd.sock
           ├─ 1757 /usr/bin/containerd-shim-runc-v2 -namespace k8s.io -id f85aa0ccc5d628781e82d39b24beae79598127db0ba1f040e20204bad58052ba -address /run/containerd/containerd.sock
           ├─ 1983 /usr/bin/containerd-shim-runc-v2 -namespace k8s.io -id f97c1b4cdf5dff3750cb74491fa7c2accb6a9fcf0da36da52a1133b19b22d8d8 -address /run/containerd/containerd.sock
           ├─ 2056 /usr/bin/containerd-shim-runc-v2 -namespace k8s.io -id ab1923d1799e6ce10d7d08f0f291cc5d2e9089f63d318830b529bcc2d6a7e36b -address /run/containerd/containerd.sock
           ├─ 2084 /usr/bin/containerd-shim-runc-v2 -namespace k8s.io -id 856799f3bcd0ba75f0b73ea05503ea4a3a3d62dfccc6071185dca456ffabc390 -address /run/containerd/containerd.sock
           ├─ 2228 /usr/bin/containerd-shim-runc-v2 -namespace k8s.io -id 3da0d26340af3ba6382b98bbbb0b211c5f0df42d53ab591f545acbe34339a45a -address /run/containerd/containerd.sock
           └─24121 /usr/bin/containerd

Jun 25 14:04:56 k8s-master01 containerd[24121]: time="2024-06-25T14:04:56.074960872+08:00" level=info msg="Start subscribing containerd event"
Jun 25 14:04:56 k8s-master01 containerd[24121]: time="2024-06-25T14:04:56.075010828+08:00" level=info msg=serving... address=/run/containerd/containerd.sock.ttrpc
Jun 25 14:04:56 k8s-master01 containerd[24121]: time="2024-06-25T14:04:56.075016696+08:00" level=info msg="Start recovering state"
Jun 25 14:04:56 k8s-master01 containerd[24121]: time="2024-06-25T14:04:56.075048514+08:00" level=info msg=serving... address=/run/containerd/containerd.sock
Jun 25 14:04:56 k8s-master01 containerd[24121]: time="2024-06-25T14:04:56.132745672+08:00" level=info msg="Start event monitor"
Jun 25 14:04:56 k8s-master01 systemd[1]: Started containerd container runtime.
Jun 25 14:04:56 k8s-master01 containerd[24121]: time="2024-06-25T14:04:56.132788698+08:00" level=info msg="Start snapshots syncer"
Jun 25 14:04:56 k8s-master01 containerd[24121]: time="2024-06-25T14:04:56.132800032+08:00" level=info msg="Start cni network conf syncer for default"
Jun 25 14:04:56 k8s-master01 containerd[24121]: time="2024-06-25T14:04:56.132809839+08:00" level=info msg="Start streaming server"
Jun 25 14:04:56 k8s-master01 containerd[24121]: time="2024-06-25T14:04:56.132885290+08:00" level=info msg="containerd successfully booted in 0.089720s"

最后使用如下命令拉取在国外存在而国内镜像仓库无法拉取的镜像,check代理是否配置成功

crictl pull rancher/shell:v0.1.21

提示类似如下信息,表明镜像已经拉取成功

Image is up to date for sha256:4cf698201012ec6e83e84e75d52c1fa1f7d24517c51b60827022fe6e75a3cf0d

或者查看一下本地的镜像列表

crictl images | grep rancher/shell

能够看到刚才下载的如下镜像,表明containerd的配置也是OK的

docker.io/rancher/shell                                            v0.1.21                  4cf698201012e       136MB

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

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

相关文章

基于MATLAB对线阵天线进行道尔夫—切比雪夫加权

相控阵天线——基于MATLAB对线阵进行道尔夫—切比雪夫加权 目录 前言 一、阵列天线的综合 二、道尔夫—切比雪夫综合 三、单元间距的改变对切比雪夫阵列方向图的影响 四、单元数的改变对切比雪夫阵列激励分布的影响 五、副瓣电平SLL对切比雪夫阵列激励幅度的影响 六、副…

深入理解Java中的Collectors(Stream流)

引言 在 Java 的 Stream API 中&#xff0c;Collectors 是一个非常强大的工具类&#xff0c;它提供了许多静态方法&#xff0c;用于将 Stream 的元素收集到集合、字符串或其他类型的结果中。使用 Collectors&#xff0c;我们可以轻松地进行数据聚合和转换操作。 文章目录 引言…

小区业主管理系统

摘 要 随着城市化进程的加速和人口的不断增加&#xff0c;小区的数量也在不断增加。小区作为城市居民居住的主要场所&#xff0c;其管理工作也变得越来越重要。传统的小区业主管理方式存在诸多问题&#xff0c;如信息传递不畅、业务处理效率低下等。因此&#xff0c;开发一个高…

Spring底层原理之FactoryBean Bean工厂 单例对象 多例对象

FactoryBean 在 Spring Framework 中&#xff0c;FactoryBean 是一个用于创建其他 Bean 实例的特殊工厂 Bean。它允许开发者自定义 Bean 的创建逻辑&#xff0c;从而更加灵活地管理和配置 Bean 的实例化过程。 FactoryBean 接口 FactoryBean 接口是 Spring 框架中的一个重要…

启动VMWare虚拟机报错

1. 无法打开内核设备“\\.\VMCIDev\VMX”: 操作成功完成。是否在安装 VMware Workstation 后重新引导? 模块“DevicePowerOn”启动失败。 未能启动虚拟机。 解决办法: 解决办法: 将 Ubuntu 64 位.vmx 找到vmci0.present"TRUE"这行改成 vmci0.present "FAL…

【AI编译器】triton学习:矩阵乘优化

Matrix Multiplication 主要内容&#xff1a; 块级矩阵乘法 多维指针算术 重新编排程序以提升L2缓存命 自动性能调整 Motivations 矩阵乘法是当今高性能计算系统的一个关键组件&#xff0c;在大多数情况下被用于构建硬件。由于该操作特别复杂&#xff0c;因此通常由软件提…

fail2ban自动屏蔽之jumpserver

fail2ban是一款实用软件&#xff0c;可以监视你的系统日志&#xff0c;然后匹配日志的错误信息&#xff08;正则式匹配&#xff09;执行相应的屏蔽动作。 jumpserver是一款开源堡垒机&#xff0c;其拥有一定的防护登录&#xff0c;也可以做登录限制&#xff0c;但是相对于防火…

湖南(用户画像)源点调研 适用于新产品开发的市场调研方法

湖南&#xff08;上市验证调研&#xff09;源点咨询认为&#xff1a;其实市场与用户研究的方法不管都什么花哨的名头&#xff0c;本质上只有两种&#xff1a;定量与定性。而对于新产品的开发最重要的就是掌握好定性的研究方法。 问&#xff1a;对于新产品开发我们面对的是什么…

js如何使得四舍五入的百分比之和为100%

在JavaScript中&#xff0c;如果你想要确保一组四舍五入后的百分比之和严格等于100%&#xff0c;那么你不能直接对每个百分比进行四舍五入&#xff0c;因为四舍五入会引入误差。但是&#xff0c;你可以采用一种策略&#xff0c;即先对所有的百分比进行常规的四舍五入&#xff0…

SNEC天合储能秀:全球首发多元场景一站式工商业储能融合解决方案

6月13日-15日&#xff0c;SNEC2024光伏与智慧能源展在上海隆重举行&#xff0c;来自全球95个国家和地区3000家国内外展商齐聚展会&#xff0c;5000行业专家共话产业发展。致力于成为全球光储智慧能源解决方案的领导者&#xff0c;天合光能&#xff08;展位号&#xff1a;7.2H-E…

线性和二次判别分析

线性判别分析 线性判别分析&#xff08;Linear Discriminant Analysis&#xff0c;LDA&#xff09;亦称 Fisher 判别分析。其基本思想是&#xff1a;将训练样本投影到低维超平面上&#xff0c;使得同类的样例尽可能近&#xff0c;不同类的样例尽可能远。在对新样本进行分类时&…

测试行业,你的未来路在何方?失业之外,暗藏的这个危机更可怕!

目前测试行业现状 近期飞书的大规模裁员&#xff0c;无疑为2024年伊始蒙上了一层阴影。再加上“共享员工”模式的兴起&#xff0c;对于身处互联网行业的从业者来说&#xff0c;无疑是雪上加霜。 此外&#xff0c;延续了2023年的情况&#xff0c;在求职平台如BOSS直聘上&#…

基于Java的宠物领养管理系统【附源码】

摘 要 近些年来&#xff0c;随着科技的飞速发展&#xff0c;互联网的普及逐渐延伸到各行各业中&#xff0c;给人们生活带来了十分的便利&#xff0c;宠物管理系统利用计算机网络实现信息化管理&#xff0c;使整个宠物领养的发展和服务水平有显著提升。 本文拟采用IDEA开发工具…

《编译原理》阅读笔记:p19-p24

《编译原理》学习第 4 天&#xff0c;p19-p24总结&#xff0c;总计 5 页。 一、技术总结 1.grouping of phases 这里谈到分组(group)&#xff0c;那么就会有一个疑问&#xff0c;分组的依据是什么&#xff1f;即根据什么来分组。 (1) front end & back end 编译器包含…

第三十一篇——大数据1:从四个特征把握大数据的本质

目录 一、背景介绍二、思路&方案三、过程1.思维导图2.文章中经典的句子理解3.学习之后对于投资市场的理解4.通过这篇文章结合我知道的东西我能想到什么&#xff1f; 四、总结五、升华 一、背景介绍 大数据的特征&#xff0c;如果我们没有一个清晰的边界以及明确的定位&…

如何找到合适的Python第三方库?

找合适的Python库其实很简单&#xff0c;按照以下三步法&#xff0c;你能找到90%的Python库。 1、百度谷歌搜索 明确自己的需求&#xff0c;用Python来干什么&#xff0c;力求简短明了。比如定位“数据分析”&#xff0c;然后去搜索关键词【Python数据分析第三方库】&#xf…

第二证券:港交所上市24周年 市值增长38倍

香港交易及结算所有限公司&#xff08;下称香港交易所&#xff09;于近来举办庆典活动&#xff0c;庆祝上市24周年。 据介绍&#xff0c;自2000年起&#xff0c;香港交易所逐步发展成为全球领先的商场营运机构&#xff0c;也成为连接中国内地与国际商场的主要桥梁。到2024年6月…

解决IMX6ULL GPIO扩展板PWM7/8中的pwm0/period后卡死问题

前言 本篇文章主要是记录解决百问网论坛上面设置 IMX6ULL GPIO扩展板PWM7/8中的pwm0/period后卡死问题&#xff0c;如下图&#xff1a; 一、查看原理图&#xff0c;找出对应引脚 在这里我们如何确定哪个扩展口中的引脚输出PWM波呢&#xff1f;我们可以通过查看原理图。 查看…

鸿蒙开发系统基础能力:【@ohos.inputMethodEngine (输入法服务)】

输入法服务 说明&#xff1a; 本模块首批接口从API version 8开始支持。后续版本的新增接口&#xff0c;采用上角标单独标记接口的起始版本。 导入模块 import inputMethodEngine from ohos.inputMethodEngine;inputMethodEngine 常量值。 系统能力&#xff1a;以下各项对应…

手慢无!限量奶茶免费领,千元大奖组队赢!

&#x1f680; AI 卡片大作战全新启动&#xff01;&#xff01;&#x1f552; 限时两周&#xff0c;组队狂欢&#xff01;&#x1f46b; 邀请好友&#xff0c;解锁免费奶茶福利&#xff01;&#x1f4b0; 学习卡片&#xff0c;赢取 1888 超级现金大奖心动不如行动&#xff0c;快…