在docker公共仓库被封禁的日子里,大多数人更喜欢使用镜像仓库代理源。
网上教程一大把,似乎不使用代理,就不会使用docker一样。
上图就是我设置的代理源镜像仓库。通常是设置/etc/docker/daemon.json这个文件实现的。
这样设置之后,可以非常方便快捷地下载docker镜像,似乎docker的封禁不存在了。然而,一些潜在的危险蠢蠢欲动。
就在上周末,因为一些原因,代理源都被禁止了。
在将本地镜像上传到私有镜像仓库的过程中,我发现了曾经使用代理源的坑,从源头解决了潜在的危险。
我们在使用docker的过程中,通常依赖一些软件环境。这些软件环境当然也是镜像,是从镜像源下载的镜像。比如golang:alpine,mysql:latest等等。
代理仓库无非是将docker hub(docker公共仓库)的镜像暂存到代理服务器,然后由我们下载。
假如镜像是特定版本的镜像,如mysql:5.7,那么问题不大。
如果代理服务器缓存镜像的频率快,那么问题也会比较小,甚至没有。
但如果更新频率不快可能就是问题了。尤其是像golang:alpine或是latest这种最新tag的镜像。
下