【docker实战】使用代理的坑

在docker公共仓库被封禁的日子里,大多数人更喜欢使用镜像仓库代理源。

网上教程一大把,似乎不使用代理,就不会使用docker一样。

上图就是我设置的代理源镜像仓库。通常是设置/etc/docker/daemon.json这个文件实现的。

这样设置之后,可以非常方便快捷地下载docker镜像,似乎docker的封禁不存在了。然而,一些潜在的危险蠢蠢欲动。

就在上周末,因为一些原因,代理源都被禁止了。

在将本地镜像上传到私有镜像仓库的过程中,我发现了曾经使用代理源的坑,从源头解决了潜在的危险。

我们在使用docker的过程中,通常依赖一些软件环境。这些软件环境当然也是镜像,是从镜像源下载的镜像。比如golang:alpine,mysql:latest等等。

代理仓库无非是将docker hub(docker公共仓库)的镜像暂存到代理服务器,然后由我们下载。

假如镜像是特定版本的镜像,如mysql:5.7,那么问题不大。

如果代理服务器缓存镜像的频率快,那么问题也会比较小,甚至没有。

但如果更新频率不快可能就是问题了。尤其是像golang:alpine或是latest这种最新tag的镜像。

下图是我通过代理源仓库下载的golang:alpine镜像,从harbor中截的图。

明显看出,golang版本是1.17.5。现在golang的版本都1.22了。

再来看看docker hub(公共镜像仓库)下载的版本:

这里的golang版本号就是最新的1.22.4。

所以,使用代理镜像的docker们应该都来自查一下,看看自己的镜像版本是不是自己想要的。如果不是,想办法使用最新的镜像吧。

相关推荐
CCPC不拿奖不改名1 小时前
虚拟机基础:在VMware WorkStation上安装Linux为容器化部署打基础
linux·运维·服务器·人工智能·milvus·知识库搭建·容器化部署
瞎某某Blinder2 小时前
DFT学习记录[4] 电子和空穴的有效质量计算全流程
python·学习
fjh19972 小时前
记一次奇怪的ssh公钥登录失败的情况
运维·ssh
zhangfeng11333 小时前
Warmup Scheduler深度学习训练中,在训练初期使用较低学习率进行预热(Warmup),然后再按照预定策略(如余弦退火、阶梯下降等)衰减学习率的方法
人工智能·深度学习·学习
dinga198510265 小时前
linux上redis升级
linux·运维·redis
一条闲鱼_mytube5 小时前
Kubernetes Operator 原理与实践:从入门到实战
云原生·容器·kubernetes
red_redemption5 小时前
自由学习记录(118)
学习
匀泪5 小时前
云原生(nginx实验(2))
运维·nginx·云原生
RisunJan5 小时前
Linux命令-ltrace(用来跟踪进程调用库函数的情况)
linux·运维·服务器
c***03235 小时前
linux centos8 安装redis 卸载redis
linux·运维·redis