【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们应该都来自查一下,看看自己的镜像版本是不是自己想要的。如果不是,想办法使用最新的镜像吧。

相关推荐
啟明起鸣8 分钟前
【Go 与云原生】让一个 Go 项目脱离原生的操作系统——我们开始使用 Docker 制造云容器进行时
docker·云原生·golang
zhangxuyu111810 分钟前
Vue2 学习记录--语法部分
学习
下午见。25 分钟前
深入理解C语言共用体/联合体(union):大小计算与大小端判断实战
c语言·笔记·学习
Fr2ed0m27 分钟前
Nginx防御HTTP Host头注入漏洞:实战配置漏洞修复教程
运维·nginx·http
安审若无40 分钟前
linux怎么检查磁盘是否有坏道
linux·运维·服务器
HalvmånEver41 分钟前
Linux的第二章 : 基础的指令(二)
linux·运维·服务器·开发语言·学习
大梦南柯41 分钟前
linux创建网站
linux·运维·服务器
刘永鑫Adam42 分钟前
代码管理及Linux模拟工具Git for Windows安装使用教程
linux·运维·服务器·git
孙同学_43 分钟前
【Linux篇】信号从哪来?到哪去?—— Linux信号的产生方式与保存机制
linux·运维·服务器
唐古乌梁海1 小时前
【linux】crontab 命令详解,linux定时任务
linux·运维·服务器