很多同学在执行DockerFile的时候,拉取一些jdk或其他的基础镜像超时失败。造成这个的主要原因就是Docker默认的镜像仓库是DockerHub,国内是连不上的,这时候我们就需,下面就是我整理好的,总有一个能拉取成功的。
如果你是windows版本的docker desktop,可以在下面设置:

下面是完整的json:
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"experimental": true,
"registry-mirrors": [
"https://docker.registry.cyou",
"https://docker-cf.registry.cyou",
"https://dockercf.jsdelivr.fyi",
"https://docker.jsdelivr.fyi",
"https://dockertest.jsdelivr.fyi",
"https://mirror.aliyuncs.com",
"https://dockerproxy.com",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.iscas.ac.cn",
"https://docker.rainbond.cc"
]
}
如果你是linux系统,则可在/etc/docker目录下修改daemon.json文件。把"registry-mirrors"的值改成上述仓库即可。
改完之后记得重启docker,这样才会生效。
结:如果你改了仓库地址发现还是拉取不到镜像,首先要确保镜像仓库的地址是否连的上并且仓库有此镜像。docker机制是如果所有源都拉不到镜像,它则会使用默认的仓库地址再去拉取。所以看到报错的地址不是你换的仓库地址,不要怀疑自己换的仓库地址有没有生效。